Команды Django django-extensions недоступны ( graph_models )

Я пытаюсь установить 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

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

Как я могу это исправить ? Спасибо!


person Michael    schedule 28.03.2012    source источник
comment
Добро пожаловать! Это существующий проект? то есть python manage.py runserver работает нормально? Просто чтобы подтвердить - при запуске python manage.py help не появляются команды django-extension?   -  person Timmy O'Mahony    schedule 28.03.2012
comment
Да, я подтверждаю, команда django-extension не отображается   -  person Michael    schedule 28.03.2012


Ответы (2)


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

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

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

person jpic    schedule 28.03.2012
comment
python manage.py runserver не потерпит неудачу, если django_extensions не будет добавлено должным образом? - person Timmy O'Mahony; 28.03.2012
comment
Спасибо! файл settings.py не был импортирован должным образом... теперь все работает как положено... СПАСИБО! - person Michael; 28.03.2012
comment
@pastylegs Я думаю, что runserver поступил бы так, как будто django_extension вообще не было. Спасибо вам обоим за ваши отзывы. - person jpic; 28.03.2012
comment
@jpic Да, я должен это проверить. В любом случае хорошо замечено - person Timmy O'Mahony; 28.03.2012

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

person barraq    schedule 25.01.2013