如何在已有Django项目的情况下使用startproject(django-admin.py)?
我正在尝试启动一个新的 Django 项目(使用 django-admin.py
),但不幸的是,我总是遇到以下错误:
C:\Users\NAME\dev\django>django-admin.py startproject foo
Usage: django-admin.py subcommand [options] [args]
[...]
同样的情况也发生在 django-admin.py
的其他任何命令上——每个命令都显示不存在。
我已经有一个 Django 项目(在 C:\Users\NAME\dev\django\blog
),我知道如果设置了 DJANGO_SETTINGS_MODULE
,那么 startproject 命令是禁用的,但当我尝试这个:
>>> import os
>>> os.environ['DJANGO_SETTINGS_MODULE']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python26\lib\os.py", line 423, in __getitem__
return self.data[key.upper()]
KeyError: 'DJANGO_SETTINGS_MODULE'
或者更好的这个:
>>> from django.conf import settings
>>> dir(settings)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python26\lib\site-packages\django\utils\functional.py", line 306, in __dir__
self._setup()
File "C:\Python26\lib\site-packages\django\conf\__init__.py", line 38, 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.
看起来 DJANGO_SETTINGS_MODULE
是未定义的。有没有人知道为什么我不能使用 django-admin.py
?
Django 1.2.3,Windows 7(64位)
1 个回答
4
DJANGO_SETTINGS_MODULE 这个东西只有在你想用 django-admin.py 来管理一个已经存在的 Django 项目时才需要。你的问题看起来有点不同,似乎是 django-admin.py 没有按照命令行参数来执行,可能是有什么原因。虽然我没在 Windows 上试过,但你有没有尝试过这样做:
python django-admin.py startproject blog
我还看到你说你已经在那个文件夹里有一个博客项目了。那你为什么还要在同一个文件夹里用同样的名字来启动一个项目呢?请说明一下你想要达到的目的。