Страница 404

Страница 404 по умолчанию

Когда открывается несуществующая страница, Django по умолчанию открывает файл 404.html в папке шаблона (если параметр DEBUG установлен на «False»).

Папка шаблона указывается в файле settings.py.

# settings.py
TEMPLATES = [
    {
        ...
        # 1-ый способ: указать напрямую
        'DIRS': ['/var/www/django_site/templates']

        # 2-ой способ: такой же, что и 1 способ, но путь формируется автоматически
        'DIRS': [os.path.join(BASE_DIR, 'templates')]
        ...
    }
]

Для примера выше, файл для несуществующей страницы будет расположен в «/var/www/django_site/templates/404.html».

Показать в текущей странице ошибку 404

Если страница существует, но на ней надо показывать ошибку 404 (например, если доступ к ней закрыт), то для этого можно использовать метод Http404().

Данный метод выводит содержимое файла «404.html».

from django.http import Http404 # импорт объекта Http404

def my_page(request):
    raise Http404() # вывести страницу 404