0

コマンドを使用してデータベースに接続しようとしていました

from django.db import connection 

Pythonシェルからですが、これにより次のインポートエラーが発生しました

File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/django/db/__init__.py", line 11, in <module>
    if DEFAULT_DB_ALIAS not in settings.DATABASES:
  File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 184, in inner
    self._setup()
  File "/usr/local/lib/python2.7/dist-packages/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.

Django 1.4 と PostgreSQL を使用していますが、以前のバージョンの django Plz ヘルプを使用していたときに、同じコマンドが正常に実行されました。

4

3 に答える 3

1

DJANGO_SETTINGS_MODULE に OS 環境の値を設定する必要があります。簡単な EXPORT コマンドでそれを行うことができます。virtualenv を使用している場合は、virtualenvwrapper を強くお勧めします。この設定を「bin/postactivate」ファイルに入れます。

注:django 1.4シェルでテストしたところ、インポートは正常に機能しました。

于 2012-09-22T16:51:34.750 に答える
0

環境変数を設定する必要がありますDJANGO_SETTINGS_MODULE。これを行う最も簡単な方法は、失敗したインポートステートメントを含むファイルの先頭に次のコードを配置することです。

import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'path/to/your/settings.py'
# ...
from django.db import connection
于 2012-09-22T16:55:40.443 に答える
0

manage.pyファイルは DJANGO_SETTINGS_MODULE を定義します。このコードは django アプリケーションの外部で実行するため、自分で定義する必要があります。

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", <location of settings.py>)
于 2012-09-22T16:54:34.470 に答える