2013-05-16 18 views
20

In Django, la maggior parte delle volte quando eseguo manage.py e incontra un errore, non ottengo la traccia dello stack completo per l'errore, solo il testo del eccezione, rendendo molto difficile il debug. Esempio:Django: manage.py non stampa la traccia stack per errori

python manage.py graph_models -a -g -o my_project.png 
AttributeError: 'str' object has no attribute '__module__' 

(Questo è per i graph_models aggiuntivo, ma si verifica anche costruito in comandi L'unica eccezione ho trovato è runserver, che rileva gli stessi errori degli altri comandi ma stampa la pila completa. traccia)

Ecco il mio file manage.py. Il mio progetto è stato originariamente creato per Django 1.1, ma recentemente ho aggiornato a 1.5.

#!/usr/bin/env python 
import os, sys 

if __name__ == "__main__": 
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ctree.settings") 

    from django.core.management import execute_from_command_line 

    execute_from_command_line(sys.argv) 

risposta

37

Hai provato passando l'argomento --traceback?

es:

python manage.py graph_models --traceback -a -g -o my_project.png 
+0

Eccellente! Ha funzionato! Sembra che nella versione di sviluppo di Django questo sia ora abilitato per impostazione predefinita, il che sembra la via logica da seguire: https://docs.djangoproject.com/en/dev/ref/django-admin/#django-admin-option ---rintracciare – RexE

Problemi correlati