Команды 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.
Как я могу это исправить?
Спасибо!
Ответы
Ответ 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.