我试图使用命令
连接到数据库from django.db import connection
来自python shell 但这会产生以下导入错误
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帮助。
答案 0 :(得分:1)
您需要为DJANGO_SETTINGS_MODULE设置OS环境值。您可以使用简单的EXPORT命令执行此操作。如果您使用的是virtualenv,我会立即推荐virtualenvwrapper,并将此设置放在'bin / postactivate'文件中。
注意:我刚刚通过django 1.4 shell测试它,导入对我来说很好。
答案 1 :(得分:0)
您的manage.py
文件定义了DJANGO_SETTINGS_MODULE。由于您在django应用程序之外运行此代码,因此您需要自己定义它。
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", <location of settings.py>)
答案 2 :(得分:0)
您必须设置环境变量DJANGO_SETTINGS_MODULE
。最简单的方法是将以下代码放在包含失败导入语句的文件的顶部:
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'path/to/your/settings.py'
# ...
from django.db import connection