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

时间:2012-03-28 13:12:48

标签: python django graphviz pygraphviz

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

sudo apt-get install graphviz libgraphviz-dev graphviz-dev python-pygraphviz

项目virtualenv(运行python 2.7.2 +):

source <path to virtualenv>/bin/activate
pip install django django-extensions

如果我跑

which python

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

python manage.py shell
import django_extensions
import pygraphviz 
RUNS OK

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

但是当我跑步时

python manage.py help

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

python manage.py graph_models -a -g -o model.png
Unknown command: 'graph_models'
Type 'manage.py help' for usage.

我该如何解决这个问题? 谢谢!

2 个答案:

答案 0 :(得分:28)

在manage.py shell中运行:

from django.conf import settings; 'django_extensions' in settings.INSTALLED_APPS

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

答案 1 :(得分:4)

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