2012-12-13 35 views
0

我已经创建了一个项目示例和应用程序sampapp在Windows XP上虽然我试图使用命令sqlall,我收到以下错误。Django导入错误说django设置环境变量是undefined

C:\Python27\Django-1.3.1\django\bin>django-admin.py sqlall sampapp

Traceback (most recent call last): File 
"C:\Python27\Django-1.3.1\django\bin\django-admin.py", line 5, in 
<module > management.execute_from_command_line() File 
"C:\Python27\lib\site-packages\django\core\management\__init__.py", 
line 429, in execute_from_command_line utility.execute() File 
"C:\Python27\lib\site-packages\django\core\management\__init__.py", 
line 379, in execute 
self.fetch_command(subcommand).run_from_argv(self.argv) File 
"C:\Python27\lib\site-packages\django\core\management\__init__.py", 
line 261, in fetch_command klass = load_command_class(app_name, 
subcommand) File 
"C:\Python27\lib\site-packages\django\core\management\__init__.py", 
line 67, in load_command_class module = 
import_module('%s.management.commands.%s' % (app_name, name)) File 
"C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in 
im port_module __import__(name) File 
"C:\Python27\lib\site-packages\django\core\management\commands\sqlall.py" 
, line 4, in <module> from django.core.management.sql import sql_all 
File "C:\Python27\lib\site-packages\django\core\management\sql.py", 
line 6, in <module> from django.db import models File 
"C:\Python27\lib\site-packages\django\db\__init__.py", line 14, in 
<modul e> if not settings.DATABASES: File 
"C:\Python27\lib\site-packages\django\utils\functional.py", line 276, 
in __getattr__ self._setup() File 
"C:\Python27\lib\site-packages\django\conf\__init__.py", line 40, in 
_set up raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE) 
ImportError: Settings cannot be imported, because environment variable 
DJANGO_SE TTINGS_MODULE is undefined. 

有人能帮我解决这个问题?

+0

http://stackoverflow.com/questions/7479493/d​​jango-settings-module-是undefined ..看看这里 –

+0

感谢链接Raunak。但如果我试图使用shell解释上述链接,我得到了同样的错误。我没有得到我错在哪里。 Plz看到以下错误。 ------------------ C:\ Python27 \ Django-1.3.1 \ django \ bin> django-admin.py shell 错误:无法导入设置,因为环境变量DJANGO_SETTINGS _MODULE未定义。 – swathi

回答

0

应指定DJANGO_SETTINGS_MODULE, 我通常这行添加到我的.bashrc文件:

出口PYTHONPATH =。 DJANGO_SETTINGS_MODULE = yoursettingsfile

2

导航到您的项目目录并在那里运行本地manage.py。

C:\...\my_project_where_sampapp_lives\> python manage.py sqlall sampapp 

您使用 'django-admin.py' 时,你应该使用 '蟒蛇manage.py'

$ django-admin.py shell 
Error: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined. 
$ python manage.py shell 
... 
>>> print "now it works" 
+0

我没有明白清楚..你能更清楚地解释我。谢谢你 – swathi

+0

你在某个地方创建了一个项目,对吧?将命令提示符导航到您创建项目的位置。然后,从该目录运行“python manage.py sqlall sampapp”。 – Ted

+0

不,我很确定我已经在确切的路径中创建了项目。 – swathi

0

Django-admin.py正在寻找您的项目settings.py文件,它无法定位,从而引发ImportError。好像你在使用django-admin.py命令时没有导航到你的项目目录。

您只需导航到您的项目目录即可。喜欢的东西:

(假设你的项目名称是我的项目)

cd myproject 

,然后运行

django-admin.py sqlall sampapp 
+0

但是django-admin.py不在项目文件夹中的bin文件夹中。它如何识别命令。 – swathi

+0

如果将python添加到环境变量 - > PATH中,则应该识别django-admin.py。试着从项目目录中运行它。 – Amyth