Fokozza a Django-alkalmazás megjelenését egy személyre szabott 404-es hibaoldal fejlesztésével, ahelyett, hogy az egyszerű alapértelmezettre hagyatkozna.

A hibaoldalak gyakoriak a webalkalmazásoknál. A Django közreműködői alapértelmezett oldalakat biztosítottak ezen hibák némelyikéhez, például a 404-es (Nem található) hibához. De fejlesztőként a legjobb, ha egy hibaoldallal rendelkezik, amely követi a webalkalmazás többi részének tervezési elveit.

Egyéni 404-es oldal létrehozása a Django-ban

A 404-es hiba a több része HTTP állapotkódok a böngésző arra használja, hogy jelezze a szerver válaszát a felhasználó böngészőkérésére. A Django alapértelmezett sablonokat biztosít ezen állapotkódok némelyikéhez, és a Django alapértelmezett 404-es hibaoldala így néz ki:

A fenti kép nem néz ki jól, és a legtöbb cég nem szívesen fogadja el a webhelyén. Ha ezt az oldalt egy tetszőleges egyéni 404-es oldalra szeretné módosítani, kövesse az alábbi lépéseket.

1. lépés: Hozzon létre egy nézetet a 404-es hiba kezelésére

Nyissa meg views.py fájlt, és hozzon létre egy nézetet a 404-es hibaoldalhoz. Ennek a nézetnek az egyéni 404-es hibaoldal tervét tartalmazó sablont kell visszaadnia. Íme egy egyszerű Django nézet, amelyet a projektben használhat:

tól től django.parancsikonok import Vakol

# egyéni 404-es nézet
defegyéni_404(kérés, kivétel):
Visszatérés render (kérés, '404.html', állapot=404)

A fenti kódrészlet a Python függvény (ebben az esetben lehetőleg Django nézetnek nevezzük), amely két függvényargumentumot vesz fel; kérés, és kivétel. A második érv –kivétel– lehetővé teszi a 404-es hibát kiváltó kivételobjektum elérését.

Cserélnie kell a „404.html” a fenti nézetben a 404-es HTML-sablon oldalának megfelelő elérési útjával.

2. lépés: Hozzon létre egy sablont a 404-es hibához

Hozzon létre egy új HTML-fájlt, amely tartalmazza a 404-es hibaoldal egyéni kialakítását. A kialakításnak összhangban kell lennie az alkalmazás többi részével. Itt van egy egyszerű HTML-sablon, amelyet felhasználhat a projektben. Módosítsa ezt a sablont, ahogy jónak látja:

 404.html sablon 
html>
<htmllang="en">
<fej>
<metakarakterkészlet="UTF-8">
<metanév="nézőablak"tartalom="szélesség = eszköz szélessége, kezdeti méret = 1,0">
<cím>404 Oldal nem találhatócím>
<link
importálja a Bootstrapet
href=" https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel="stíluslap"
integrity="sha384-KK94CHFLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ"
crossorigin="anonymous">
egyéni css
<stílus>
body {
kijelző: flex;
hajlítási irány: oszlop;
indokol-tartalom: center;
align-ites: center;
magasság: 100vh;
font-család: Arial, sans-serif;
}

.container {
szöveg igazítása: középre;
maximális szélesség: 600 képpont;
}

.emoji {
betűméret: 8rem;
margó-alsó: 20 képpont;
}

h1 {
betűméret: 3 rem;
margó-alsó: 20 képpont;
}

p {
betűméret: 1,5 rem;
margó-alsó: 20 képpont;
}

.btn {
betűméret: 1,25 rem;
padding: 10px 20px;
}
stílus>
fej>
<test>
<divosztály="tartály">
<divosztály="emoji">😕div>
<h1>Hoppá! Az oldal nem találhatóh1>
<p>Nem találtuk a keresett oldalt.p>
<aosztály="btn btn-primary"href="/">Menjen vissza a Kezdőlapraa>
div>
test>
html>

3. lépés: Módosítsa projektje URL-fájlját

A projekt szintjén (ahol a settings.py fájl), nyissa meg a saját urls.py fájlt, és irányítsa a 404-es hibakezelőt a 404-es hiba kezelésére létrehozott nézetre. Meghívják a 404-es hibakezelőt kezelő404. Mutatni kezelő404 véleménye szerint a következő formátumot kell követnie:

handler404 = "app_name.views.custom_404_view_name"

Ha az alkalmazásod meghívásra kerül recept, és a nézet ún egyéni_404, akkor módosítsa a fenti formátumot a következőképpen:

handler404 = "recipe.views.custom_404"

Ügyeljen arra, hogy ezt a projekt szintjén tegye, és ne az alkalmazás szintjén. Vannak különbségek egy projekt és egy alkalmazás között a Django-ban.

4. lépés: Tesztelje új 404-es hibaoldalát

Az új hibaoldal teszteléséhez indítsa el a fejlesztői kiszolgálót, és lépjen egy nem létező oldalra az alkalmazásban. A szerver elindításához futtassa ezt a parancsot a parancssori eszközben (CLI):

python manage.py runserver

Ahhoz, hogy a fenti parancs működjön, a projekt gyökérkönyvtárában kell lennie, azaz abban a mappában, ahol a manage.py fájl él.

Amint a szerver elindul, tesztelje egyéni 404-es oldalát úgy, hogy egy nem létező oldalra navigál, mint pl http://127.0.0.1:8000/hello. Ha mindent helyesen csinált, látnia kell az egyéni 404-es hibaoldalt.

Ha az egyéni 404-es hibaoldal nem jelenik meg, fontolja meg nézeteinek ellenőrzését, hogy megbizonyosodjon arról, hogy a HTML-sablon helyes elérési útját írta-e be a Vakol() funkciót, mivel ez gyakori probléma.

Az egyéni hibaoldalak jobb felhasználói élményt nyújtanak

Egyéni hibaoldallal az alkalmazásban javítja a felhasználók élményét, amikor hibákat észlelnek. Ahelyett, hogy általános hibaüzenetet látna, az egyéni hibaoldal pontosabb információkat nyújthat a hibáról, és lehetséges megoldásokat javasolhat.

Ez segíthet a felhasználóknak megérteni, mi hibázott, és hogyan javíthatják ki, csökkentve a frusztrációt és növelve az alkalmazásba vetett bizalmukat. Kisegítő lehetőségek hozzáadásával az oldalt befogadóvá is teheti.