Подобрете външния вид на вашето приложение Django, като разработите персонализирана страница за грешка 404, вместо да разчитате на обикновената по подразбиране.
Страниците с грешки са често срещани при уеб приложенията. Сътрудниците на Django са предоставили страници по подразбиране за някои от тези грешки, като например грешката 404 (Не е намерено). Но като разработчик е най-добре да имате страница за грешка, която следва принципите на дизайна на останалата част от вашето уеб приложение.
Създаване на персонализирана страница 404 в Django
Грешката 404 е част от няколкото HTTP кодове за състояние използвани от браузъра за указване на отговор на сървъра на заявки на браузъра, направени от потребител. Django предоставя шаблони по подразбиране за някои от тези кодове на състояние, а страницата за грешка 404 по подразбиране в Django изглежда така:
Изображението по-горе не изглежда добре и повечето компании няма да го приемат лесно на уебсайта си. За да промените тази страница на персонализирана страница 404 по ваш избор, трябва да следвате стъпките, изброени по-долу.
Стъпка 1: Създайте изглед за справяне с грешката 404
Отвори си views.py файл и създайте изглед за страницата с грешка 404. Този изглед трябва да върне шаблон, съдържащ дизайна за вашата персонализирана страница за грешка 404. Ето прост Django изглед, който можете да използвате във вашия проект:
от django.shortcuts импортиране изобразявам
# персонализиран изглед 404
дефcustom_404(заявка, изключение):
връщане изобразяване (заявка, „404.html“, статус=404)
Горният кодов фрагмент е a Python функция (за предпочитане наричан Django изглед в този случай), който приема два аргумента на функцията; искане, и изключение. Вторият аргумент -изключение— ви позволява да получите достъп до обекта за изключение, който е задействал грешката 404.
Трябва да замените „404.html“ в горния изглед с правилния път към вашата страница с HTML шаблон за грешка 404.
Стъпка 2: Създайте шаблон за вашата грешка 404
Създайте нов HTML файл, който да съдържа вашия персонализиран дизайн за страницата за грешка 404. Дизайнът трябва да съответства на останалата част от вашето приложение. Ето прост HTML шаблон, който можете да използвате във вашия проект. Трябва да промените този шаблон, както сметнете за добре:
404.html шаблон
html>
<htmlезик="bg">
<глава>
<метанабор от знаци="UTF-8">
<метаиме="viewport"съдържание="width=device-width, initial-scale=1.0">
<заглавие>404 Страницата не е намереназаглавие>
<връзка
импортиране на Bootstrap
href=" https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel="stylesheet"
цялост = "sha384-KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ"
crossorigin="анонимен">
персонализиран css
<стил>
тяло {
дисплей: гъвкав;
flex-direction: колона;
justify-content: център;
подравняване на елементи: център;
височина: 100vh;
семейство шрифтове: Arial, sans-serif;
}.контейнер {
подравняване на текст: център;
максимална ширина: 600px;
}.emoji {
размер на шрифта: 8 rem;
margin-bottom: 20px;
}h1 {
размер на шрифта: 3 rem;
margin-bottom: 20px;
}p {
размер на шрифта: 1,5 rem;
margin-bottom: 20px;
}
.btn {
размер на шрифта: 1.25 rem;
подложка: 10px 20px;
}
стил>
глава>
<тяло>
<дивклас="контейнер">
<дивклас="емоджи">😕див>
<h1>Опа! Страницата не е намеренаh1>
<стр>Не успяхме да намерим страницата, която търсите.стр>
<аклас="btn btn-основен"href="/">Върнете се в началната страницаа>
див>
тяло>
html>
Стъпка 3: Променете файла с URL адреси на вашия проект
На ниво ваш проект (където вашият settings.py файлът е), отворете своя urls.py файл и насочете манипулатора за грешка 404 към изгледа, който сте създали за обработка на грешката 404. Манипулаторът за грешка 404 се извиква манипулатор404. Да посоча манипулатор404 според вас трябва да следвате този формат:
манипулатор404 = 'app_name.views.custom_404_view_name'
Ако приложението ви се извика рецепта, а изгледът се нарича custom_404, тогава трябва да промените горния формат по следния начин:
манипулатор404 = 'recipe.views.custom_404'
Уверете се, че правите това на ниво проект, а не на ниво приложение. Има разлики между проект и приложение в Django.
Стъпка 4: Тествайте новата си страница за грешка 404
За да тествате новата си страница за грешка, стартирайте своя сървър за разработка и отидете до несъществуваща страница във вашето приложение. Можете да стартирате вашия сървър, като изпълните тази команда във вашия инструмент за команден ред (CLI):
python manage.py runserver
За да работи командата по-горе, трябва да сте в основната директория на вашия проект, т.е. управление.py файлът живее.
След като сървърът ви стартира, тествайте вашата персонализирана страница 404, като отидете до несъществуваща страница, като напр. http://127.0.0.1:8000/hello. Ако сте направили всичко правилно, трябва да видите персонализираната страница за грешка 404.
Ако вашата персонализирана страница за грешка 404 не се появи, трябва да проверите изгледите си, за да сте сигурни, че сте написали правилния път към вашия HTML шаблон в render() функция, тъй като това е често срещан проблем.
Персонализираните страници за грешки предоставят по-добро потребителско изживяване
Наличието на персонализирана страница за грешка във вашето приложение ще подобри изживяването на вашите потребители, когато се натъкнат на грешки. Вместо да видите общо съобщение за грешка, персонализирана страница за грешка може да предостави по-конкретна информация за грешката и да предложи възможни решения.
Това може да помогне на потребителите да разберат какво се е объркало и как да го поправят, намалявайки разочарованието и повишавайки доверието им във вашето приложение. Също така ще можете да направите страницата приобщаваща, като добавите функции за достъпност.