ですから、皆さんがこの質問を何百万回も聞かれていることは知っています。私はそれらすべてを読んだと思います. Django polls アプリ (django チュートリアルで作成したもの) を Google クラウド SQL を使用して Google アプリ エンジンで実行するように変換しようとすると、DJANGO_SETTINGS_MODULE is undefined エラーが発生します。
これは、Google アプリ エンジン ログから得られた実際のスタック トレースです。
Traceback (most recent call last):
File "/base/python27_runtime/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 223, in Handle
result = handler(dict(self._environ), self._StartResponse)
File "/base/python27_runtime/python27_lib/versions/third_party/django-1.4/django/core/handlers/wsgi.py", line 219, in __call__
self.load_middleware()
File "/base/python27_runtime/python27_lib/versions/third_party/django-1.4/django/core/handlers/base.py", line 39, in load_middleware
for middleware_path in settings.MIDDLEWARE_CLASSES:
File "/base/python27_runtime/python27_lib/versions/third_party/django-1.4/django/utils/functional.py", line 184, in inner
self._setup()
File "/base/python27_runtime/python27_lib/versions/third_party/django-1.4/django/conf/__init__.py", line 40, in _setup
raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE)
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.
Google アプリエンジンで提供されている dev_appserver.py で実行しようとすると同じエラーが発生しましたが、追加することで問題を解決できました
env_variables:
DJANGO_SETTINGS_MODULE: 'DjangoTut.settings'
app.yaml ファイルに。
私のプロジェクトディレクトリは次のようになります:
- ジャンゴツット
- ジャンゴツット
- 初期化.py
- 設定.py
- urls.py
- wsgi.py
- 世論調査
- 初期化.py
- admin.py
- models.py
- tests.py
- urls.py
- ビュー.py
- app.yaml
- 管理.py
- ジャンゴツット
私のapp.yamlファイルは次のようになります
application: hochotime
version: 10
runtime: python27
api_version: 1
threadsafe: true
libraries:
- name: django
version: "1.4"
builtins:
- django_wsgi: on
env_variables:
DJANGO_SETTINGS_MODULE: 'settings'
他のすべてのファイルは、ここで提案されているものと同じですhttps://docs.djangoproject.com/en/1.4/intro/tutorial01/
追加してみました
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'DjangoTut.settings'
ほぼすべての単一のpythonファイルの先頭までですが、役に立ちません。設定ファイルをアプリディレクトリではなくプロジェクトディレクトリに移動し、すべてos.environ['DJANGO_SETTINGS_MODULE']
を「設定」だけを指すように変更しようとしました。ここに示すように、設定を直接構成しようとしましたhttps://docs.djangoproject.com/en/dev/topics/settings/#using-settings-without-setting-django-settings-moduleそれでも、同じ結果が得られますGoogle サーバーで実行しようとするたびにエラーが発生します。
どんな助けでも大歓迎です。