2010-10-13 7 views
1

Когда Django встает, он обрабатывает 500 ошибок. Когда Django завинчивается, mod_python будет бросать голые кости «Внутренняя ошибка сервера». Это хорошо описано в документации по следующей ссылке:Как я могу переопределить ошибку 500 mod_python по умолчанию при ударе «проблем с конфигурацией Django»?

http://docs.djangoproject.com/en/dev/howto/deployment/modpython/#error-handling

Мой вопрос: Есть ли способ, чтобы переопределить «Внутренняя ошибка сервера» страницы без перекрывая все Джанго 500 страниц? Единственный способ, которым я могу найти , чтобы переопределить его, - это установить с помощью параметра ErrorDocument Apache ErrorDocument , который затем переопределит все 500, независимо от того, обрабатывается ли он Django или Apache.

Есть ли способ обсудить, что Django обрабатывает ошибки Django, но все еще настраивает сообщение по умолчанию? Я хотел бы знать.

Заранее благодарен!

ответ

0

Для этого VirtualHost или этой конфигурации вы можете указать Apache HTTP 500 Error. Реализация пользовательских сообщений об ошибках легко

Просто добавьте строку в апача конфигурации

ErrorDocument 500 http://www.example.com/error_500.html 

Для получения дополнительной информации: http://httpd.apache.org/docs/2.0/custom-error.html

+0

Андрей, спасибо за подсказку. Я сделал то, что вы сказали, и это работает. Но недостатком является то, что он, кажется, отменяет * все * 500 ошибок, даже тех, которые обычно используются Django, которые не связаны с проблемой конфигурации. Я ищу решение, которое будет срабатывать только при ошибке «до Django», как описано выше в ссылке, и все Django обрабатывают более «типичные» 500 ошибок. – palewire