500.html Джанго не работает - PullRequest
       2

500.html Джанго не работает

1 голос
/ 07 сентября 2010

Я хочу использовать свою собственную страницу для 500 ошибок. Поэтому я поместил 500.html в корневой каталог шаблонов. Но при возникновении ошибки отображается страница Apache 500 по умолчанию. Я сделал то же самое с 404.html, и этот просто отлично работает.

Кто-нибудь знает, в чем может быть проблема?

Ответы [ 5 ]

2 голосов
/ 07 сентября 2010
  1. Убедитесь, что 500 определенно выбрасывает Django, а не Apache, прежде чем Django начнет поиск.Где, согласно журналу ошибок Apache, находится основная причина 500?

  2. Проверьте права доступа к файлам на этой странице 500 (вряд ли это будет неправильно, но все же)

  3. DPaste Ваша страница 500.html, чтобы мы могли увидеть, есть ли в ней что-то более сложное, чем прямой HTML

1 голос
/ 03 октября 2013

Я столкнулся с той же проблемой сегодня, и проблема была в моем 500.html-файле: я содержал немецкий Umlaut ("ö"), и этот приводил к тому, что apache выдает свое собственное сообщение об ошибке при рендеринге моего сообщения об ошибке 500. Вы можете распознать это, посмотрев журнал ошибок Apache, и в моем случае он показал UnicodeDecodeError: 'utf8' codec can't decode byte 0xf6 in position 583: invalid start byte.

На самом деле ответ stevejalim помог выяснить это.

1 голос
/ 28 февраля 2011

Измените возвращаемое значение с def server_error в django.views.defaults:

с:

return http.HttpResponseServerError(t.render(Context({})))

на:

return http.HttpResponseServerError(t.render(RequestContext(request, {'request_path': request.path})))
1 голос
/ 07 сентября 2010

По умолчанию django добавляет из django.conf.urls.defaults import * в ваш urls.py.
Инструменты статического анализа могут жаловаться на это, но если вы измените его, чтобы импортировать только те имена, которые вы действительно используете (например, шаблоны и включения), вы будетев конечном итоге сломать механизм, который Django использует для обработки ошибок, и, например, он не будет отображать 500 ошибок.

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

Моя проблема заключалась в том, что я пытался расширить другой шаблон, который содержал в себе кучу контекстных и конфигурационных переменных, поэтому сам шаблон ошибки вызывал ошибку сервера. Ответы Стива Джалима и OBu помогли.

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