2013-05-16 2 views
20

В Django, большую часть времени, когда я запускаю manage.py, и он сталкивается с ошибкой, я не получаю полную трассировку стека за ошибку, просто текст исключение, что затрудняет отладку. Пример:Django: manage.py не печатает трассировку стека для ошибок

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

(Это для graph_models дополнения, но это также имеет место для встроенных в командах Единственное исключение, которое я нашел, runserver, который сталкивается с той же ошибки, что и другие команды, но выводит полный стек. trace)

Это мой файл manage.py. Мой проект был первоначально создан для Django 1.1, но я недавно обновился до 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) 

ответ

37

Вы пытались передать аргумент --traceback?

например:

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

Отлично! Это сработало! Похоже, что в версии разработки Django это включено по умолчанию, что похоже на логический путь: https://docs.djangoproject.com/en/dev/ref/django-admin/#django-admin-option ---Выслеживать – RexE

Смежные вопросы