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)
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