svfat
@svfat
☺Нужен VPS? Два месяца бесплатно. Смотри профиль☺

Django + AngularJS, как увидеть traceback в консоли при ошибке?

Досталось поддерживать и дорабатывать AJAX-приложение на Django+Tastypie+AngularJS. Столкнулся с тем что при обработке AJAX-запросов в консоли (./manage.py runserver) не выводится traceback при ошибке. Тупо сообщает об ошибке 500, а где и почему она произошла не пишет. Способы обхода этого, найденные на stackoverflow не помогли (думаю они устарели - пробовал копипастить какой-то middleware, и менять настройки LOGGING) Как это пофиксить на Django 1.8?
  • Вопрос задан
  • 447 просмотров
Решения вопроса 2
@marazmiki
Укротитель питонов
Насколько я помню, traceback выводится в консоли про DEBUG=False
Ответ написан
Комментировать
un1t
@un1t
Я отлаживаю такое двумя способами, при DEBUG=True смотрю в вебинспекторе, видно что отдает страница. При DEBUG=False можно смотреть лог файл.

Настройки логирования у меня выглядят так:
LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(process)d %(module)s %(message)s'
        },
        'simple': {
            'format': '%(levelname)s %(message)s'
        },
    },
    'handlers': {
        'file': {
            'level': 'DEBUG',
            'class': 'logging.FileHandler',
            'filename':  os.path.join(BASE_DIR, 'data/django.log'),
            'formatter': 'verbose',
        },
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'verbose',
        },
    },
    'loggers': {
        'django': {
            'handlers': ['file'],
            'propagate': True,
            'level': 'WARN',
        },
        'django.request': {
            'handlers': ['file'],
            'level': 'ERROR',
            'propagate': True,
        },
        'django.db.backends': {
            'handlers': ['console'],
            'level': 'WARNING',
        },
        'apps': {
            'handlers': ['file', 'console'],
            'level': 'DEBUG',
        },
    },
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
xozzslip
@xozzslip
Можно еще так: ctrl+shift+i, вкладка network, там открыть ошибку, полистать response. DEBUG=TRUE, конечно. Google Chrome.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы