2012-03-28 11 views
16

Estoy tratando de instalar django-extensions + graphviz + pygraph pero no puedo. he hecho los siguientes pasos (bajo Ubuntu):Comandos Django django-extensions no disponibles (graph_models)

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

en el virtualenv proyecto (Python corriendo 2.7.2+):

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

si corro

which python 

se selecciona Python en mi Virtualenv, entonces el Python que estoy usando es el correcto. en paquete de sitio del virtualenv tengo pygraphviz y Django-extensions

python manage.py shell 
import django_extensions 
import pygraphviz 
RUNS OK 

en mi proyecto Django i han añadido 'django_extensions' en mi INSTALLED_APPS

Pero cuando corro

python manage.py help 

i no puede ver los comandos y no están disponibles.

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

¿Cómo puedo solucionar este problema? Gracias!

+0

¡Bienvenido! ¿Es este un proyecto existente? es decir, ¿'python manage.py runserver' funciona bien? Solo para confirmar: no hay comandos 'django-extension' que aparecen cuando ejecuta' python manage.py help'? –

+0

Sí, confirmo, no se muestra el comando django-extension – Michael

Respuesta

25

Ejecutar este en manage.py shell:

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

Si no vuelve verdadera, entonces significa que no agregó 'django_extensions' adecuadamente en INSTALLED_APPS, y que sería la única razón por qué Django no encuentra el comando.

+0

¿No 'python manage.py runserver' fallaría si 'django_extensions' no se hubiera agregado correctamente? –

+0

¡Gracias! el settings.py no se importó de la manera correcta ... ahora todo funciona como se esperaba ... ¡GRACIAS! – Michael

+0

@ pastylegs, creo que runserver simplemente haría como si django_extension no estuviera allí. Gracias a ambos por sus comentarios. – jpic

3

En realidad, si nos fijamos en el código de manage.py, notará que establece DJANGO_SETTINGS_MODULES de acuerdo con su sitio actual: digamos "mysite.settings". Si desea que su manage.py liste extensiones adicionales (p. Ej., Las de django-extensions o django-evolution), debe agregar la carpeta de su raíz de proyecto a su ruta python; de lo contrario, solo obtendrá los comandos bascc manage.py .

Cuestiones relacionadas