Vylepšete vzhled své aplikace Django vytvořením personalizované chybové stránky 404 namísto spoléhání se na obyčejnou výchozí stránku.

Chybové stránky jsou u webových aplikací běžné. Přispěvatelé Django poskytli výchozí stránky pro některé z těchto chyb, jako je chyba 404 (Nenalezeno). Ale jako vývojář je nejlepší mít chybovou stránku, která se řídí principy návrhu zbytku vaší webové aplikace.

Vytvoření vlastní stránky 404 v Django

Chyba 404 je součástí několika Stavové kódy HTTP používá prohlížeč k označení odpovědi serveru na požadavky prohlížeče ze strany uživatele. Django poskytuje výchozí šablony pro některé z těchto stavových kódů a výchozí chybová stránka 404 v Django vypadá takto:

Výše uvedený obrázek nevypadá hezky a většina společností jej na svých webových stránkách snadno nepřijme. Chcete-li změnit tuto stránku na vlastní stránku 404 podle vašeho výběru, měli byste postupovat podle kroků uvedených níže.

Krok 1: Vytvořte zobrazení pro zpracování chyby 404

Otevři tvůj views.py soubor a vytvořte zobrazení pro chybovou stránku 404. Toto zobrazení by mělo vrátit šablonu obsahující návrh vaší vlastní chybové stránky 404. Zde je jednoduchý pohled Django, který můžete použít ve svém projektu:

instagram viewer

z django.zkratky import poskytnout

# vlastní zobrazení 404
defcustom_404(žádost, výjimka):
vrátit se vykreslit (žádost, '404.html', stav=404)

Výše uvedený fragment kódu je a Funkce Python (v tomto případě se nejlépe nazývá pohled Django), který přebírá dva argumenty funkce; žádost, a výjimka. Druhý argument -výjimka—umožňuje přístup k objektu výjimky, který spustil chybu 404.

Měli byste vyměnit „404.html“ ve výše uvedeném zobrazení se správnou cestou k vaší stránce šablony HTML s chybou 404.

Krok 2: Vytvořte šablonu pro vaši chybu 404

Vytvořte nový soubor HTML, který bude obsahovat váš vlastní návrh pro chybovou stránku 404. Návrh by měl být konzistentní se zbytkem vaší aplikace. Zde je jednoduchá HTML šablona, ​​kterou můžete použít ve svém projektu. Tuto šablonu byste měli upravit, jak uznáte za vhodné:

 404.html šablona 
html>
<htmllang="en">
<hlava>
<metaznaková sada="UTF-8">
<metanázev="výřez"obsah="width=device-width, initial-scale=1.0">
<titul>404 Stránka nenalezenatitul>
<odkaz
importovat 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
<styl>
tělo {
displej: flex;
směr ohybu: sloupec;
justify-content: center;
align-items: center;
výška: 100vh;
rodina písem: Arial, bezpatkové;
}

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

.emoji {
velikost písma: 8rem;
margin-bottom: 20px;
}

h1 {
velikost písma: 3rem;
margin-bottom: 20px;
}

p {
velikost písma: 1,5rem;
margin-bottom: 20px;
}

.btn {
velikost písma: 1,25rem;
odsazení: 10px 20px;
}
styl>
hlava>
<tělo>
<divtřída="kontejner">
<divtřída="emoji">😕div>
<h1>Jejda! Stránka nenalezenah1>
<p>Nenašli jsme stránku, kterou jste hledali.p>
<Atřída="btn btn-primary"href="/">Vraťte se na DomovA>
div>
tělo>
html>

Krok 3: Upravte soubor adres URL vašeho projektu

Na úrovni vašeho projektu (kde vaše settings.py soubor je), otevřete svůj urls.py soubor a nasměrujte obslužnou rutinu chyby 404 na zobrazení, které jste vytvořili pro zpracování chyby 404. Je volána obslužná rutina chyby 404 manipulátor404. Ukazovat manipulátor404 podle vašeho pohledu byste měli dodržovat tento formát:

handler404 = 'app_name.views.custom_404_view_name'

Pokud se vaše aplikace nazývá recept, a pohled se nazývá custom_404, pak byste měli upravit výše uvedený formát takto:

handler404 = 'recipe.views.custom_404'

Ujistěte se, že to děláte na úrovni projektu, nikoli na úrovni aplikace. Existují rozdíly mezi projektem a aplikací v Django.

Krok 4: Otestujte svou novou stránku s chybou 404

Chcete-li otestovat svou novou chybovou stránku, spusťte vývojový server a přejděte na neexistující stránku v aplikaci. Server můžete spustit spuštěním tohoto příkazu v nástroji příkazového řádku (CLI):

runserver python manage.py

Aby výše uvedený příkaz fungoval, musíte být v kořenovém adresáři projektu, tj. ve složce, kde spravovat.py soubor životy.

Jakmile se váš server spustí, otestujte svou vlastní stránku 404 přechodem na neexistující stránku, jako je např http://127.0.0.1:8000/hello. Pokud jste vše provedli správně, měla by se zobrazit vlastní chybová stránka 404.

Pokud se vaše vlastní chybová stránka 404 nezobrazí, měli byste zvážit kontrolu zobrazení, abyste se ujistili, že jste zapsali správnou cestu k šabloně HTML do poskytnout() funkce, protože se jedná o běžný problém.

Vlastní chybové stránky poskytují lepší uživatelský dojem

Mít vlastní chybovou stránku ve vaší aplikaci zlepší zážitek vašich uživatelů, když narazí na chyby. Namísto zobrazení obecné chybové zprávy může vlastní chybová stránka poskytnout konkrétnější informace o chybě a navrhnout možná řešení.

To může uživatelům pomoci pochopit, co se pokazilo a jak to opravit, snížit frustraci a zvýšit jejich důvěru ve vaši aplikaci. Stránku také budete moci zahrnout přidáním funkcí usnadnění.