Django 404 (сторінка не знайдена)
Сторінку не знайдено
Якщо ви спробуєте отримати доступ до неіснуючої сторінки (помилка 404), Django спрямує вас до вбудованого представлення, який обробляє помилки 404.
Ви дізнаєтесь, як налаштувати це представлення 404 пізніше в цьому розділі, але спочатку просто спробуйте надіслати запит на сторінку, якої не існує.
У вікні браузера введіть 127.0.0.1: 8000/masfdfg/
в адресному рядку.
Ви отримаєте один із двох результатів:
1:
2:
Якщо ви отримали перший результат, вас буде спрямовано до вбудованого шаблону Django 404.
Якщо ви отримали другий результат, тоді для DEBUG
у ваших налаштуваннях встановлено значення True
, і вам потрібно встановити значення False
, щоб перейти до шаблону 404.
Це робиться у файлі settings.py
, який знаходиться в папці проєкту, у нашому випадку my_tennis_club
, де ви також маєте вказати ім’я хоста, з якого запускається ваш проєкт:
Приклад
Установіть для властивості debug значення False
і дозвольте запуск проєкту з вашого локального хосту:
my_tennis_club/my_tennis_club/settings.py
:
.
.
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False
ALLOWED_HOSTS = ['*']
.
.
Важливо: Коли DEBUG = False, Django вимагає від вас вказати хости, з яких ви дозволите запускати цей проєкт Django.
На практиці це має бути замінено правильним доменним іменем:
ALLOWED_HOSTS = ['yourdomain.com']
У вікні браузера введіть 127.0.0.1:8000/masfdfg/
в адресному рядку, і ви отримаєте вбудований шаблон 404:
Налаштуйте шаблон 404
Django шукатиме файл із назвою 404.html
у папці templates
і відображатиме його, коли є помилка 404.
Якщо такого файлу не існує, Django показує повідомлення "Not Found" ("Не знайдено"), яке ви бачили у прикладі вище.
Щоб налаштувати це повідомлення, все, що вам потрібно зробити, це створити файл у папці templates
і назвати його 404.html
і заповніть його якимось текстом (можна і зображенням), яке повідомляє користувача про відсутність сторінки:
my_tennis_club/members/templates/404.html
:
<!DOCTYPE html>
<html>
<title>Wrong address</title>
<body>
<h1>Ooops!</h1>
<h2>I cannot find the file you requested!</h2>
</body>
</html>
У вікні браузера введіть 127.0.0.1:8000/masfdfg/
в адресному рядку, і ви отримаєте налаштований шаблон 404: