在我的本地开发机器上,我已经成功安装了django-simple-captcha。但是,当我在生产服务器上运行它时,找不到表,导致TemplateSyntaxError
。
渲染时捕获DatabaseError:没有这样的表:captcha_captchastore
我正在使用sqlite3作为数据库引擎,并且已经运行python manage.py syncdb
并使用以下SQL语句检查创建的表:
源码>从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
这怎么会影响查找数据库?可能存在路径问题。
答案 0 :(得分:0)
当您处于模板环境或另一个应用程序的范围内时,我无法了解如何构建数据库的路径,但设置绝对路径名可以解决问题。