Подтвердить что ты не робот

Трассировка стека из управляющего сервера.

Команда Django runserver не выводит трассировку стека при добавлении --traceback --verbosity 2:

➫ python manage.py runserver --traceback --verbosity 2
Validating models...

0 errors found
July 24, 2013 - 11:45:12
Django version 1.5.1, using settings 'base.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[24/Jul/2013 11:45:27] "POST /login/get_associations/ HTTP/1.0" 500 13220

Есть ли другие параметры командной строки или конфигурации ведения журнала, которые я могу добавить, чтобы получить runserver для печати трассировки стека, когда есть 500?

4b9b3361

Ответ 1

Согласился, что это удобно, особенно для разработки MVVM-ориентированных приложений (например, Angular/Ember front-end). Также это полезно, когда другие тестируют внешний интерфейс.

Как вы упомянули, это не предусмотрено DEBUG=True. Вы можете добавить stacktrace при запуске ./manage.py runserver, добавив следующее в файл settings.py:

LOGGING = {
    'version': 1,
    'handlers': {
        'console':{
            'level':'DEBUG',
            'class':'logging.StreamHandler',
        },
    },
    'loggers': {
        'django.request': {
            'handlers':['console'],
            'propagate': True,
            'level':'DEBUG',
        }
    },
}

Этот синтаксис происходит из документации Django Конфигурирование ведения журнала и может быть дополнительно изменен для увеличения или уменьшения количества консольных протоколов.

Также обратите внимание, что ответы 5XX выражаются как сообщения ERROR, а ответы 4XX выражаются как сообщения WARNING.