Django django-extensions命令不可用(graph_models)

Mic*_*ael 21 python django graphviz pygraphviz

我正在尝试安装django-extensions + graphviz + pygraph,但我不能.我已经完成了以下步骤(在Ubuntu下):

sudo apt-get install graphviz libgraphviz-dev graphviz-dev python-pygraphviz
Run Code Online (Sandbox Code Playgroud)

在项目virtualenv(运行python 2.7.2+):

source <path to virtualenv>/bin/activate
pip install django django-extensions
Run Code Online (Sandbox Code Playgroud)

如果我跑

which python
Run Code Online (Sandbox Code Playgroud)

它在我的virtualenv中选择了python,所以我正在使用的python是正确的.在virtualenv的网站包中我有pygraphviz和django-extensions

python manage.py shell
import django_extensions
import pygraphviz 
RUNS OK
Run Code Online (Sandbox Code Playgroud)

在我的django项目中,我在我的INSTALLED_APPS中添加了"django_extensions"

但是当我跑的时候

python manage.py help
Run Code Online (Sandbox Code Playgroud)

我看不到命令​​,但它们不可用.

python manage.py graph_models -a -g -o model.png
Unknown command: 'graph_models'
Type 'manage.py help' for usage.
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题 ?谢谢!

jpi*_*pic 31

在manage.py shell中运行:

from django.conf import settings; 'django_extensions' in settings.INSTALLED_APPS
Run Code Online (Sandbox Code Playgroud)

如果它没有返回True,那么这意味着你没有在INSTALLED_APPS中正确添加'django_extensions',这就是Django找不到命令的唯一原因.


bar*_*raq 5

实际上,如果您查看 manage.py 的代码,您会注意到它根据您当前的站点设置了 DJANGO_SETTINGS_MODULES:比如说“mysite.settings”。如果您希望您的 manage.py 列出其他扩展名(例如来自 django-extensions 或 django-evolution 的扩展名),那么您必须将您的项目根文件夹添加到您的 python 路径中,否则您将只能获得 bascc manage.py 命令。