Назад | Перейти на главную страницу

Почему я вижу 404 apache, а не пользовательский 404 Django?

На моем локальном сервере запуска django я создал собственный templates/404.html, и это работает без проблем. Однако в производстве с apache этот обычай 404.html больше не отображается (даже с DEBUG=False).

Я просто получаю белую страницу с

Not Found

The requested URL /blahblah was not found on this server.

Я не верю, что это даже не значение по умолчанию для django, а, скорее, как-то связано с apache.

Как мне сказать apache разрешить django обрабатывать ошибки 404?

После всего этого я просто забыл установить необходимые разрешения для шаблона на рабочем сервере (я запускаю mod_wsgi в режиме демона как 'djangoUser'), поэтому мне нужно

dr-x------  djangoUser djangoUser  templates
dr-------   djangoUser djangoUser  templates/404.html

д'ох.

Вы должны включить обработчик error404 в вашем приложении Django (см. https://stackoverflow.com/questions/17662928/django-creating-a-custom-500-404-error-page) для получения дополнительной информации о том, как это сделать.