Команды Django django-extensions недоступны (graph_models) - программирование
Подтвердить что ты не робот

Команды 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 является правильным. в виртуальном сайте-пакете у меня есть 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.

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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