Vylepšite vzhľad svojej aplikácie Django vytvorením prispôsobenej chybovej stránky 404 namiesto spoliehania sa na obyčajnú predvolenú stránku.

Chybové stránky sú bežné pri webových aplikáciách. Prispievatelia Django poskytli predvolené stránky pre niektoré z týchto chýb, ako je napríklad chyba 404 (nenájdené). Ale ako vývojár je najlepšie mať chybovú stránku, ktorá sa riadi princípmi dizajnu zvyšku vašej webovej aplikácie.

Vytvorenie vlastnej stránky 404 v Django

Chyba 404 je súčasťou niekoľkých stavové kódy HTTP používa prehliadač na označenie odpovede servera na požiadavky prehliadača zadané používateľom. Django poskytuje predvolené šablóny pre niektoré z týchto stavových kódov a predvolená chybová stránka 404 v Django vyzerá takto:

Vyššie uvedený obrázok nevyzerá pekne a väčšina spoločností ho na svojich webových stránkach ľahko neprijme. Ak chcete zmeniť túto stránku na vlastnú stránku 404 podľa vášho výberu, mali by ste postupovať podľa krokov uvedených nižšie.

Krok 1: Vytvorte zobrazenie na spracovanie chyby 404

instagram viewer

Otvor tvoj views.py súbor a vytvorte zobrazenie pre chybovú stránku 404. Toto zobrazenie by malo vrátiť šablónu obsahujúcu návrh vašej vlastnej chybovej stránky 404. Tu je jednoduché zobrazenie Django, ktoré môžete použiť vo svojom projekte:

od django.skratky importovať vykresliť

# vlastné zobrazenie 404
defcustom_404(žiadosť, výnimka):
vrátiť vykresliť (žiadosť, '404.html', stav=404)

Vyššie uvedený útržok kódu je a Funkcia Python (v tomto prípade sa prednostne nazýva pohľad Django), ktorý má dva funkčné argumenty; žiadosť, a výnimkou. Druhý argument -výnimkou— umožňuje prístup k objektu výnimky, ktorý spustil chybu 404.

Mali by ste nahradiť „404.html“ vo vyššie uvedenom zobrazení so správnou cestou k stránke šablóny HTML s chybou 404.

Krok 2: Vytvorte šablónu pre vašu chybu 404

Vytvorte nový súbor HTML, ktorý bude obsahovať váš vlastný návrh pre chybovú stránku 404. Dizajn by mal byť v súlade so zvyškom vašej aplikácie. Tu je jednoduchá HTML šablóna, ktorú môžete použiť vo svojom projekte. Túto šablónu by ste mali upraviť, ako uznáte za vhodné:

 404.html šablóna 
html>
<htmllang="sk">
<hlavu>
<metaznakovú sadu="UTF-8">
<metanázov="výrez"obsahu="width=device-width, initial-scale=1.0">
<titul>Stránka 404 sa nenašlatitul>
<odkaz
importovať Bootstrap
href=" https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ"
crossorigin="anonym">
vlastný css
<štýl>
telo {
displej: flex;
smer ohybu: stĺpec;
zdôvodniť-obsah: stred;
align-items: center;
výška: 100vh;
rodina písiem: Arial, bezpätkové;
}

.container {
text-align: center;
max-width: 600px;
}

.emoji {
veľkosť písma: 8rem;
margin-bottom: 20px;
}

h1 {
veľkosť písma: 3rem;
margin-bottom: 20px;
}

p {
veľkosť písma: 1,5rem;
margin-bottom: 20px;
}

.btn {
veľkosť písma: 1,25rem;
výplň: 10px 20px;
}
štýl>
hlavu>
<telo>
<divtrieda="kontajner">
<divtrieda="emoji">😕div>
<h1>Ojoj! Stránka nenájdenáh1>
<p>Nenašli sme stránku, ktorú ste hľadali.p>
<atrieda="btn btn-primary"href="/">Vráťte sa na Domova>
div>
telo>
html>

Krok 3: Upravte súbor s adresami URL vášho projektu

Na úrovni vášho projektu (kde vaše settings.py súbor je), otvorte svoj urls.py súbor a nasmerujte obsluhu chyby 404 na zobrazenie, ktoré ste vytvorili na spracovanie chyby 404. Zavolá sa obsluha chyby 404 obsluha404. Ukázať obsluha404 podľa vášho názoru by ste mali dodržiavať tento formát:

handler404 = 'app_name.views.custom_404_view_name'

Ak sa volá vaša aplikácia recept, a pohľad sa nazýva custom_404, potom by ste mali upraviť vyššie uvedený formát takto:

handler404 = 'recipe.views.custom_404'

Uistite sa, že to robíte na úrovni projektu a nie na úrovni aplikácie. Existujú rozdiely medzi projektom a aplikáciou v Django.

Krok 4: Otestujte svoju novú stránku s chybou 404

Ak chcete otestovať svoju novú chybovú stránku, spustite vývojový server a prejdite na neexistujúcu stránku vo vašej aplikácii. Server môžete spustiť spustením tohto príkazu v nástroji príkazového riadka (CLI):

runserver python manage.py

Aby príkaz uvedený vyššie fungoval, musíte byť v koreňovom adresári projektu, t. j. v priečinku spravovať.py súbor životov.

Po spustení servera otestujte svoju vlastnú stránku 404 tak, že prejdete na neexistujúcu stránku, ako je napr http://127.0.0.1:8000/hello. Ak ste urobili všetko správne, mala by sa zobraziť vaša vlastná chybová stránka 404.

Ak sa vaša vlastná chybová stránka 404 nezobrazí, mali by ste zvážiť kontrolu svojich zobrazení, aby ste sa uistili, že ste zapísali správnu cestu k šablóne HTML v render() funkciu, pretože ide o bežný problém.

Vlastné chybové stránky poskytujú lepšiu používateľskú skúsenosť

Vlastná chybová stránka vo vašej aplikácii zlepší zážitok vašich používateľov, keď narazia na chyby. Namiesto zobrazenia všeobecného chybového hlásenia môže vlastná chybová stránka poskytnúť konkrétnejšie informácie o chybe a navrhnúť možné riešenia.

Používateľom to môže pomôcť pochopiť, čo sa pokazilo a ako to opraviť, znížiť frustráciu a zvýšiť ich dôveru vo vašu aplikáciu. Stránku budete môcť začleniť aj pridaním funkcií dostupnosti.