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 に答える