Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从django.db导入连接,在django1.4中给出错误_Python_Django_Postgresql_Importerror_Django Settings - Fatal编程技术网

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_模块的行。因此,在这种情况下,它对您不可用。