падение django: исключения должны быть классами старого стиля или производными от BaseException, а не str - PullRequest
0 голосов
/ 12 июня 2018

У меня есть приложение, которое использует 1.9.Он будет работать отлично в течение нескольких недель и недель, а затем неожиданно произойдет сбой только что сработавшей страницы:

Traceback:

File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py"
in get_response
 174.                     response =
self.process_exception_by_middleware(e, request)
File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py"
in get_response
 172.                     response = response.render()
File "/usr/lib/python2.7/site-packages/django/template/response.py" in render
 160.             self.content = self.rendered_content
File "/usr/lib/python2.7/site-packages/django/template/response.py" in
rendered_content
 137.         content = template.render(context, self._request)
File "/usr/lib/python2.7/site-packages/django/template/backends/django.py"
in render
 95.             return self.template.render(context)
File "/usr/lib/python2.7/site-packages/django/template/base.py" in render
 204.                 with context.bind_template(self):
File "/usr/lib64/python2.7/contextlib.py" in __enter__
 17.             return self.gen.next()

exceptions must be old-style classes or derived from BaseException, not str

Exception Location:
/usr/lib/python2.7/site-packages/django/utils/module_loading.py in
import_string, line 23

Если я вернусь к тому же URL, он будет работать.

Кто-нибудь знает, что может быть причиной этого или как я могу отладить это дальше?

ОБНОВЛЕНИЕ:

Код django явно имеет ошибку, и я исправил ее в своей системе,Это позволило мне увидеть следующую более высокую ошибку, которая была ошибкой при импорте одного из моих собственных context_processors.Это странно, так как файл и функция есть и доступны для чтения, и если бы их не было, я бы всегда получал эту ошибку, а не просто периодически.Я все еще думаю, что есть еще одна более высокая ошибка, и я попытался найти ее, установив точку останова и запустив сервер devel, но с этим ошибка никогда не возникает.

1 Ответ

0 голосов
/ 12 июня 2018

След может дать подсказку.В частности, следующая строка

exceptions must be old-style classes or derived from BaseException, not str

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...