Показ кастомной страницы 404 в Django

В этом посте мы рассмотрим, как показать кастомную страницу 404 в приложении на Django. Это может быть полезно, если вы хотите предоставить пользователям более информативную и дружелюбную страницу ошибки вместо стандартной страницы 404, которая показывает только сообщение об ошибке.

Шаг 1: Создание кастомной страницы 404

Сначала создайте новый шаблон для страницы 404. Назовите его, например, 404.html. Этот шаблон должен находиться в папке templates вашего приложения.

<!-- templates/404.html -->

<!DOCTYPE html>
<html>
<head>
    <title>Страница не найдена</title>
</head>
<body>
    <h1>Страница не найдена</h1>
    <p>Извините, но страница, которую вы ищете, не существует.</p>
</body>
</html>

Шаг 2: Создание кастомного представления для страницы 404

Далее создайте новое представление, которое будет обрабатывать запросы на страницу 404. Назовите его, например, page_not_found.

# views.py

from django.http import HttpResponseNotFound
from django.template.loader import get_template

def page_not_found(request, exception):
    template = get_template('404.html')
    return HttpResponseNotFound(template.render())

Шаг 3: Настройка URL для страницы 404

Теперь вам нужно настроить URL для страницы 404. Для этого добавьте следующую строку в файл urls.py вашего приложения:

# urls.py

from django.conf.urls import handler404
from . import views

handler404 = views.page_not_found

Шаг 4: Настройка Django для показа кастомной страницы 404

Наконец, вам нужно настроить Django для показа кастомной страницы 404. Для этого добавьте следующую строку в файл settings.py вашего проекта:

# settings.py

DEBUG = False

Вывод

Теперь, когда вы запустите свой проект и попробуете открыть несуществующую страницу, Django покажет вашу кастомную страницу 404. Это может помочь улучшить пользовательский опыт и сделать ваше приложение более дружелюбным.

Примечание

Не забудьте включить отладку (DEBUG = True) во время разработки, чтобы увидеть стандартную страницу ошибки Django. Когда вы готовы к производству, выключите отладку (DEBUG = False), чтобы показать кастомную страницу 404.

Read more

Замена дефолтного перевода слова в Django Admin

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

By Dmitry

Использование Email вместо имени пользователя для входа в Django Admin

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

By Dmitry

Вход по SSH на удаленный сервер Ubuntu без пароля

Настройка входа по SSH на сервере Ubuntu В этой статье мы рассмотрим, как настроить вход пользователей только по SSH на сервере Ubuntu. Это позволит повысить безопасность вашего сервера, ограничив вход только по защищённому протоколу SSH. Шаг 1: Установка и настройка OpenSSH OpenSSH - это пакет, который позволяет устанавливать защищённое соединение

By Dmitry

Автоматизация деплоя по SSH с паролем

Автоматизация деплоя с помощью GitHub Actions и SSH для Django проекта (вход на сервер по SSH с паролем) GitHub Actions — это сервис, который позволяет автоматизировать процесс сборки, тестирования и деплоя вашего кода. Одним из способов деплоя является использование SSH для подключения к серверу и копирования файлов. В этой статье мы

By Dmitry