Команды django-расширений Django недоступны (graph_models) - PullRequest
20 голосов
/ 28 марта 2012

Я пытаюсь установить 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, поэтому тот питон, который я использую, является правильным. в пакете сайта virtualenv у меня есть pygraphviz и django-extensions

python manage.py shell
import django_extensions
import pygraphviz 
RUNS OK

в моем проекте django я добавил 'django_extensions' в мой INSTALLED_APPS

Но когда я бегу

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 ]

28 голосов
/ 28 марта 2012

Запустите это в оболочке manage.py:

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

Если он не возвращает True, то это означает, что вы не добавили 'django_extensions' в INSTALLED_APPS должным образом, и это будет единственной причиной, по которой Django не находит команду.

4 голосов
/ 25 января 2013

На самом деле, если вы посмотрите на код manage.py, вы заметите, что он устанавливает DJANGO_SETTINGS_MODULES в соответствии с вашим текущим сайтом: скажем, «mysite.settings».Если вы хотите, чтобы ваш manage.py перечислял дополнительные расширения (например, из django-extensions или django-evolution), тогда вы должны добавить папку вашего проекта-root в путь к python, если нет, вы получите только команды bascc manage.py.

...