Python 从django.db导入连接,在django1.4中给出错误
我试图使用命令连接到数据库Python 从django.db导入连接,在django1.4中给出错误,python,django,postgresql,importerror,django-settings,Python,Django,Postgresql,Importerror,Django Settings,我试图使用命令连接到数据库 from django.db import connection 从pythonshell 但这产生了以下导入错误 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
from django.db import connection
从pythonshell
但这产生了以下导入错误
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.
文件“”,第1行,在
文件“/usr/local/lib/python2.7/dist packages/django/db/_init__.py”,第11行,在
如果默认\u DB\u别名不在settings.DATABASES中:
文件“/usr/local/lib/python2.7/dist-packages/django/utils/functional.py”,第184行,在内部
self.\u设置()
文件“/usr/local/lib/python2.7/dist-packages/django/conf/_-init___.py”,第40行,在安装程序中
raise ImportError(“无法导入设置,因为环境变量%s未定义。”%environment\u variable)
ImportError:无法导入设置,因为环境变量DJANGO_Settings_MODULE未定义。
我正在使用Django 1.4和PostgreSQL
当我使用django的早期版本时,成功地执行了相同的命令
Plz帮助。您需要为DJANGO_设置_模块设置操作系统环境值。您可以通过一个简单的导出命令来实现这一点。如果您使用的是virtualenv,我强烈推荐VirtualEnvRapper,并将此设置放在“bin/postactivate”文件中
注意:我刚刚通过django 1.4 shell测试了它,导入对我来说很好 您的
manage.py
文件定义了DJANGO\u设置\u模块。由于您在django应用程序之外运行此代码,因此需要自己定义它
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", <location of settings.py>)
导入操作系统
setdefault(“DJANGO\u设置\u模块”)
您必须设置环境变量DJANGO\u SETTINGS\u模块
。最简单的方法是将以下代码放在包含失败导入语句的文件顶部:
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'path/to/your/settings.py'
# ...
from django.db import connection
我正试图通过终端上的python shell执行“from django.db import connection”,请指导我在这种情况下的操作。您是否在django项目中使用django shell(
python manage.py shell
)?我想你没有。如果您使用Django shell,所有必要的环境变量都会自动设置,这样您就不必关心它了。该命令在以前的django版本中运行时没有问题,它在django 1.4中创建了prob这很奇怪,对我来说,它在django 1.4中运行得很好。但我使用的是SQlite。由于失败的import语句似乎调用了数据库,这可能是PostgreSQL的问题。如果是这种情况,我帮不了你(没有PostgreSQL的经验)。我的manage.py文件已经在我的设置中的正确位置上了。py是的,我就是这么说的。在基本python shell中,永远不会运行manage.py中设置DJANGO_SETTINGS_模块的行。因此,在这种情况下,它对您不可用。