Трассировка ошибок Django не показывает реальную ошибку - PullRequest
0 голосов
/ 23 февраля 2012

В методе просмотра Django у меня есть такой код:

x = my_dict['foo']

'foo' отсутствует в my_dict, поэтому я получаю экран отслеживания ошибок, как и должен.

Однако на экране ошибки утверждается, что ошибка глубоко в каком-то внутреннем модуле django, а не в моем коде. Вот информация о трассировке:

Traceback:
File "/usr/lib/python2.3/site-packages/django/core/handlers/base.py" in get_response
  99.                     response = callback(request, *callback_args, **callback_kwargs)

Exception Type: KeyError at /app/login/
Exception Value: 'foo'

Почему он не показывает строку кода из моего метода просмотра?

Ответы [ 2 ]

2 голосов
/ 23 февраля 2012

Я полагаю, что Django считает, что ошибка заключается в том, что представление не вернуло правильный HTTPResponse, и передает его, а не причину, по которой представление не передает ответ.Я полагаю, что это специально.

Чтобы найти конкретную ошибку, посмотрите журнал ошибок вашего веб-сервера.

0 голосов
/ 04 июля 2014

Это случилось со мной, так как django показал мне полную трассировку ошибок только один раз, после того, как эта трассировка ошибок не была завершена.

Попробуйте включить DEBUG = True, это покажет вам полный журнал ошибок.

...