2013-05-16 12 views
20

W Django, przez większość czasu, kiedy uruchamiam manage.py i napotyka błąd, nie otrzymuję pełnego śledzenia stosu dla błędu, tylko tekst wyjątek, co bardzo utrudnia debugowanie. Przykład:Django: manage.py nie drukuje śledzenia stosu dla błędów

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

(to jest dla graph_models dodatek, lecz występuje również do wbudowania w poleceniach Jedynym wyjątkiem, że stwierdzone jest runserver, który przechodzi przez te same błędy inne kroki ale drukuje cały stos. trace)

Oto mój plik manage.py. Mój projekt został pierwotnie stworzony dla Django 1.1, ale ostatnio zaktualizowałem go do wersji 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) 

Odpowiedz

37

Czy próbowałeś przekazać argument --traceback?

np:

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

Doskonała! To się udało! Wygląda na to, że w wersji rozwojowej Django jest to domyślnie włączone, co wydaje się być logicznym sposobem: https://docs.djangoproject.com/en/dev/ref/django-admin/#django-admin-option --- traceback – RexE

Powiązane problemy