Django django-extensions commands unavailable ( graph_models )

13,295

Solution 1

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.

Solution 2

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.

Share:
13,295

Related videos on Youtube

Michael
Author by

Michael

Updated on September 10, 2020

Comments

  • Michael
    Michael almost 4 years

    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!

    • Timmy O'Mahony
      Timmy O'Mahony over 12 years
      Welcome! Is this an existing project? i.e. does python manage.py runserver work ok? Just to confirm - there are no django-extension commands appearing when you run python manage.py help?
    • Michael
      Michael over 12 years
      Yes i confirm, no django-extension command is shown
  • Timmy O'Mahony
    Timmy O'Mahony over 12 years
    wouldn't python manage.py runserver fail if django_extensions wasn't properly added?
  • Michael
    Michael over 12 years
    Thanks! the settings.py wasn't imported in the right way... now everything works as expected... THANK YOU!
  • jpic
    jpic over 12 years
    @pastylegs i think that runserver would just do as if django_extension wasn't there at all. Thank you both for your feedback.
  • Timmy O'Mahony
    Timmy O'Mahony over 12 years
    @jpic Yea, I must check that. Well spotted anyway