2

在我的本地开发机器上,我已经成功安装了 django-simple-captcha。但是,当我在生产服务器上运行它时,找不到该表,导致TemplateSyntaxError.

渲染时捕获DatabaseError:没有这样的表:captcha_captchastore

我使用 sqlite3 作为数据库引擎,并且已经python manage.py syncdb使用以下 SQL 语句运行并检查了创建的表:

sqlite> 从 sqlite_master 中选择名称,其中 type = 'table';
auth_permission
auth_group_permissions
auth_group
auth_user_user_permissions
auth_user_groups
auth_user
auth_message
django_content_type
django_session
django_site
django_admin_log
captcha_captchastore

但是,即使所有其他表都工作得很好,captcha_captchastore也找不到。此故障的可能原因是什么以及如何解决?


其他发现:
当我在生产机器上运行 Django 开发服务器并检查一切正常时。显然这与我运行 Django 的方式有关。我目前通过 fastcgi 设置了 nginx 和 Django。启动命令如下:

python manage.py runfcgi host=127.0.0.1 port=8081 --settings=settings

这对查找数据库有何影响?应该是路径问题。

4

1 回答 1

-1

当您处于模板环境或另一个应用程序的范围内时,我无法找出数据库路径是如何构建的,但设置绝对路径名可以解决问题。

于 2012-08-20T13:54:53.440 回答