0

我在 windows xp 上创建了一个项目示例和一个应用程序 sampapp 当我尝试使用命令sqlall时,我收到以下错误。

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.

有人可以帮我解决这个问题吗?

4

3 回答 3

2

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

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

当您应该使用“python manage.py”时,您正在使用“django-admin.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"
于 2012-12-13T07:00:51.090 回答
0

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

您需要做的就是导航到您的项目目录。就像是:

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

cd myproject

然后运行

django-admin.py sqlall sampapp
于 2012-12-13T07:16:26.057 回答
0

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

导出 PYTHONPATH=。DJANGO_SETTINGS_MODULE=你的设置文件

于 2012-12-13T06:44:49.370 回答