Django: Как обработать исключение, когда база данных не работает / не может подключиться? - PullRequest
0 голосов
/ 14 февраля 2019

У нас проблема с приложением django, которое мы разрабатываем.Иногда база данных выходит из строя / имеет слишком много соединений и т. Д., И Django постоянно вызывает исключения.

Как мы можем перехватить эти исключения и перенаправить пользователя на страницу с ошибкой?

1 Ответ

0 голосов
/ 15 февраля 2019

Если вы хотите отобразить пользовательскую страницу для ошибки 500, а затем сохранить исключения в журналах, могут помочь следующие шаги:

  1. Для просмотра исключений вы можете использовать настройку ведения журнала с здесь .
  2. Создайте новый файл HTML error_500.html в папке приложения templates/errors/.
  3. Добавьте функцию просмотра error_500 в views.py вашего приложения

    def error_500 (request): вернуть render (request, 'errors / error_500.html')

  4. Добавить маршрутизацию в urls.py (основной или в вашем приложении).Например,

    из обработчика импорта django.conf.urls 404, обработчик импорта 500 из представлений импорта YOURAPP в виде yourapp_views

    handler404 = yourapp_views.error_404 handler500 = yourapp_views.error_500

С этого момента в режиме production (DEBUG = 0, ALLOWED_HOSTS установлен, запускается как WSGI и т. Д.), Когда возникает исключение, Django должен отображать содержимое вашего error_500.html как страницу ошибки 500.Вы увидите больше информации в системных журналах.

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