Вступление
Для чего вообще заниматься настройкой и дизайном страниц ошибок, оп типу 404? По большей части для того, чтобы твой сайт выглядел и ощущался единым, и как бонус, если пользователь попадёт на такую страницу можно предложить ему другие похожие страницы тем самым избегая "отказов", увеличивая глубину и время просмотра. ( И по этому, второй способ предпочтительней )
В этой статье я покажу, два способа кастомизации таких страниц для django-проектов:
Всё будет делаться для 404 ошибки, но всё описанное будет так же применимо и к другим типам ошибок, как 500 (Ошибка сервера), 403 (Запрещено) 400 (Плохой запрос).
Более подробное описание данных ошибок и их значение можешь прочитать в ссылках предоставленных выше, а мы продолжим.
Подготовка к отладке и работе на локальном сервере
Зачем это вообще делать
Перед тем, как добавить и начать заниматься дизайном страницы 404, нужно подготовить проект к отображению такой страницы. Почему ? Спросишь ты. Дело всё в том, что в режиме отладки Debug=False, мы всегда будем получать вот такую вот страницу:

А если перевести сервер в развёрнутое состояние, то есть Debug=False, будем получать стандартную страницу с сервера:

Теперь, когда разобрались с тем, зачем подготавливать сервер к работе с ошибками типа 404, можно приступить к непосредственной настройке и подготовке.
Подготавливаем Django к работе со страницами ошибок, как 404
Во-первых, сделать и добавить директорию с шаблонами в список директорий, та что в settings.py. И если твои директории с шаблонами называются templates/, то ничего менять не придётся. Но если ты их называешь по другому, сделай следующее:
Добавь новый путь в DIRS. Этот код ты можешь найти в файле settings.py.
Во-вторых, перевести сайт в "боевой" режим, то есть отключить все отладочные процессы, которые Django проводит при Debug=True в settings.py. Так же потребуется добавить имя хоста в ALLOWED_HOSTS:
Я использую специальный символ, который говорит: "Хей, данный сервер доступен с любого адреса, наслаждайтесь!"
И на этом, как бы всё, но не совсем.
Активируем стили во время отладки
Если, конечно, твой сайт ещё не стилизован, то можешь смело пропустить эту главу до конца. Но давай честно, скорее всего у тебя уже есть некоторая стилизация на сайте и именно поэтому ты читаешь данную статью.
И проделав все выше описанные шаги, ты ожидаешь увидеть что-то вроде этого:

Это страница, которая не смогла загрузить стили, шрифты и скрипты ( статические файлы с сервера ). Что и подтверждает консоль разработчика.

Итак, как же нам получить стили, скрипты и медиа с сервера?
Чтобы исправить это, нужно немного изменить команду запуска сервера разработки. А именно запустить сервер без всяких защитных механизмов, то есть, вместо команды:
Ты должен использовать:
Теперь, все статические и медиа файлы должны быть доступны во время запуска "боевого" сервера. Ты ведь ещё помнишь, что мы это делаем, для того чтобы видеть наши собственные страницы ответов станиц 404 и 500?
Собственная 404 страница
Первый способ, через переопределение шаблона по умолчанию
Есть несколько вариантов кастомизировать 404 страницу. Первый, самый простой, это сделать шаблон 404.html в любой templates/ директории в любом приложении.
То же самое применимо и к таким ответам сервера как 500, 403 и 400.
Второй способ, через собственные представления
Второй способ предлагает большую кастомизацию, чем первый. Итак, если нужно ещё сильнее кастомизировать страницу 404, можно написать собственное представление и добавить туда всё что пожелаешь. Напишем самое базовое представление для ответа 404, в файле по пути Backend/views.py:
Осталось только его подключить к особенному обработчику. В urls.py, в любом приложении, в моём случае это всегда Backend приложение, добавь такую вот строчку:
Есть так же обработчики 500, 403 и 400 ответов сервера, им соответствуют handler500, handler403 и handler400 соответственно.
Вместо заключения
Вот такие вот два способа я знаю, для использования собственных страниц ответов с сервера, как 404 или 500. Первый конечно же предпочтительней, ибо он проще, а значит можно допустить меньше ошибок. Второй более настраиваемый и гибкий. Но выбирать тебе.
Надеюсь эта статья была тебе полезна и ты смог создать свою собственную страницу 404.