【发布时间】:2014-01-09 16:46:47
【问题描述】:
我有一个 Django 项目,其中包含名为“listen_rfid”和“listen_qr”的管理命令。他们都出现在
./manage.py help --settings=imagination.idmapper.config.settings_dev
但都没有出现在
django-admin.py help --settings=imagination.idmapper.config.settings_dev
- 我对 django-admin.py 和 manage.py 的 diffsettings 的输出进行了比较,没有区别。
- 我的应用在 INSTALLED_APPS 中正确列出。
- DJANGO_SETTINGS_MODULE 在我的环境和 manage.py 中设置相同。
- 我能够将我的管理命令作为 python 模块导入并从 django-admin.py shell 运行它们。
- 我在 virtualenv 中工作,但 django-admin.py 命令是安装在其中的命令,正如“which django-admin.py”所证明的那样。
django-admin.py 与 manage.py 表现不同的任何可能原因是什么?
我在 Ubuntu 12.04 上使用 Django 1.5.5
【问题讨论】:
-
只是为了确定,如果你这样做
$ which django-admin.py,你会从你的 virtualenv 中得到一个,对吗? -
您的 PYTHONPATH 设置是否正确?试试
export PYTHONPATH=/path/to/project -
我上面的评论是假设您使用的是 linux 顺便说一句,为此道歉。无论哪种方式,您都需要确保您的项目目录在 PYTHONPATH 上,manage.py 会自动执行但 django-admin.py 不会。
-
是的,我的项目目录在 PYTHONPATH 上。 manage.py 似乎没有设置它,只有 DJANGO_SETTINGS_MODULE: pastebin.com/wXmNwamb
标签: python django django-manage.py manage.py