Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django django-extensions commands unavailable ( graph_models )

I'm trying to install django-extensions + graphviz + pygraph but i can't. I have done the following steps ( under Ubuntu ):

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

in the project virtualenv (running python 2.7.2+):

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

if i run

which python

it selects the python in my virtualenv, so the python i'm using is the right one. in the virtualenv's site-package i have pygraphviz and django-extensions

python manage.py shell
import django_extensions
import pygraphviz 
RUNS OK

in my django project i have added 'django_extensions' in my INSTALLED_APPS

But when i run

python manage.py help

i can't see the commands and they are unavailable.

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

How can I fix this ? Thanks!

like image 910
Michael Avatar asked Mar 28 '12 13:03

Michael


2 Answers

Run this in manage.py shell:

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

If it doesn't return True, then it means that you didn't add 'django_extensions' properly in INSTALLED_APPS, and that would be the only reason why Django doesn't find the command.

like image 178
jpic Avatar answered Nov 15 '22 19:11

jpic


Actually, if you look at your manage.py's code, you will notice that it sets DJANGO_SETTINGS_MODULES according to your current site: let say "mysite.settings". If you want your manage.py to list additional extensions (e.g. ones from django-extensions or django-evolution) then you must add your project-root's folder to your python path, if not you will only get the bascc manage.py commands.

like image 34
barraq Avatar answered Nov 15 '22 20:11

barraq