5

私はDjangoを使用していて、インポートする設定を定義するいくつかの環境変数を設定しようとしています。

次のフォルダ階層を使用します。

project_folder>
    app_folder>
    project_specific_files>
        settings>
            base.py
            local.py

KennethReitzのautoenvを使用して環境変数をロードします。入力できるので、正しく機能していることが$ echo $DJANGO_SETTINGS_MODULEわかります。次の出力が表示されます。

project_specific_files.settings.local

しかし、私が実行すると、次のよう$django-admin.py runserverになります。

ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.

また、Pythonシェルにアクセスして、env変数を出力しようとすると、次のようになります。

Python 2.7.3 (default, Dec 22 2012, 21:14:12) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> print os.environ['HOME']
/home/marco
>>> print os.environ['DJANGO_SETTINGS_MODULE']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/marco/.virtualenvs/myproject/lib/python2.7/UserDict.py", line 23, in __getitem__
    raise KeyError(key)
KeyError: 'DJANGO_SETTINGS_MODULE'

誰かが何が間違っている可能性があるかについての手がかりを持っていますか?ありがとう!

また、入力でき$ django-admin.py runserver --settings='project_specific_files.settings.local、すべてが正常に機能します0.o

4

1 に答える 1

10

環境変数はエクスポートされていますか?

たぶん、環境変数は現在のシェルで定義されていますが、サブプロセス(PythonインタープリターまたはDjango)にエクスポートするようにマークされていません。

bashを使用して、次を実行します。export DJANGO_SETTINGS_MODULE

于 2013-02-21T15:11:04.463 に答える