Django Пользовательская ошибка страницы с ошибкой

Я пытаюсь сделать пользовательскую страницу ошибок общей 404 и 500.

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

Я использую django=1.11.6, и я запускаю отладку False, потому что мне нужно посмотреть, работает ли она, конечно.

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

Views.py (в моей папке приложения)

# Error Handlers
def handler404(request):
    return render(request, 'handlers/404.html', status=404)

def handler500(request):
    return render(request, 'handlers/500.html', status=500)

Urls.py (в моей главной папке конфигурации)

from django.conf.urls import include, url, handler404, handler500
from django.contrib import admin

handler404 = 'staff.views.handler404'
handler500 = 'staff.views.handler500'

urlpatterns = [
    url(r'^', include('staff.urls')),
    url(r'^admin/', admin.site.urls),
]

1 ответ

Решение

Во-первых, вам не нужны пользовательские обработчики, если вы просто хотите использовать свои собственные шаблоны - просто поместите ваши собственные файлы 404.html и 500.html в корневую директорию шаблонов.

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

Другие вопросы по тегам