Pagerinkite savo „Django“ programos išvaizdą sukurdami suasmenintą 404 klaidos puslapį, o ne pasikliaudami paprastu numatytuoju.
Klaidų puslapiai yra dažni žiniatinklio programoms. „Django“ bendradarbiai pateikė numatytuosius kai kurių iš šių klaidų, pvz., 404 (nerasta) klaidos, puslapius. Tačiau kaip kūrėjui geriausia turėti klaidos puslapį, kuris atitiktų likusios žiniatinklio programos projektavimo principus.
Pasirinktinio 404 puslapio kūrimas „Django“.
404 klaida yra kelių dalis HTTP būsenos kodai naršyklė naudoja serverio atsakymą į vartotojo pateiktas naršyklės užklausas. „Django“ teikia numatytuosius šablonus kai kuriems iš šių būsenos kodų, o numatytasis „Django“ 404 klaidos puslapis atrodo taip:
Aukščiau pateiktas vaizdas neatrodo gražiai, ir dauguma įmonių nepriims jo savo svetainėje. Norėdami pakeisti šį puslapį į pasirinktą tinkintą 404 puslapį, atlikite toliau nurodytus veiksmus.
1 veiksmas: sukurkite rodinį, kad išspręstumėte 404 klaidą
Atidaryk savo views.py failą ir sukurkite 404 klaidos puslapio rodinį. Šiame rodinyje turėtų būti pateiktas šablonas su tinkinto 404 klaidos puslapio dizainu. Štai paprastas „Django“ vaizdas, kurį galite naudoti savo projekte:
iš django.shortcuts importuoti pateikti
# tinkintas 404 rodinys
defcustom_404(prašymas, išimtis):
grąžinti pateikti (prašyti, '404.html', status=404)
Aukščiau pateiktas kodo fragmentas yra a Python funkcija (šiuo atveju pageidautina vadinti Django rodiniu), kuriam naudojami du funkcijos argumentai; prašymas, ir išimtis. Antrasis argumentas -išimtis– leidžia pasiekti išimties objektą, kuris sukėlė 404 klaidą.
Turėtumėte pakeisti „404.html“ aukščiau esančiame rodinyje su teisingu keliu į 404 klaidos HTML šablono puslapį.
2 veiksmas: sukurkite 404 klaidos šabloną
Sukurkite naują HTML failą, kuriame būtų tinkintas 404 klaidos puslapio dizainas. Dizainas turi atitikti likusią programos dalį. Čia yra paprastas HTML šablonas, kurį galite naudoti savo projekte. Turėtumėte pakeisti šį šabloną, kaip jums atrodo tinkama:
404.html šabloną
html>
<htmllang="en">
<galva>
<metasimbolių rinkinys="UTF-8">
<metavardas="žiūros sritis"turinys="plotis = įrenginio plotis, pradinė skalė = 1,0">
<titulą>404 puslapis nerastastitulą>
<nuoroda
importuoti Bootstrap
href=" https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel="stiliaus lapas"
integrity="sha384-KK94CHFLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ"
crossorigin="anonymous">
pasirinktinis css
<stilius>
kūnas {
ekranas: lankstus;
lankstumo kryptis: stulpelis;
pateisinti-turinys: centras;
lygiuoti elementus: centre;
aukštis: 100vh;
šriftų šeima: Arial, sans-serif;
}.container {
teksto lygiavimas: centre;
maksimalus plotis: 600 pikselių;
}.emoji {
šrifto dydis: 8rem;
paraštė-apačia: 20 pikselių;
}h1 {
šrifto dydis: 3rem;
paraštė-apačia: 20 pikselių;
}p {
šrifto dydis: 1,5 rem;
paraštė-apačia: 20 pikselių;
}
.btn {
šrifto dydis: 1,25 rem;
užpildymas: 10 piks. 20 piks.;
}
stilius>
galva>
<kūnas>
<divklasė="konteineris">
<divklasė="emoji">😕div>
<h1>Oi! Puslapis nerastash1>
<p>Nepavyko rasti puslapio, kurio ieškojote.p>
<aklasė=„btn btn-primary“href="/">Grįžkite į pagrindinį puslapįa>
div>
kūnas>
html>
3 veiksmas: pakeiskite savo projekto URL failą
Jūsų projekto lygiu (kur jūsų settings.py failas yra), atidarykite savo urls.py failą ir nukreipkite 404 klaidos tvarkyklę į rodinį, kurį sukūrėte norėdami apdoroti 404 klaidą. Iškviečiamas 404 klaidos tvarkytuvas prižiūrėtojas404. Parodyti prižiūrėtojas404 jūsų nuomone, turėtumėte vadovautis šiuo formatu:
tvarkytojas404 = „app_name.views.custom_404_view_name“
Jei jūsų programa iškviečiama receptas, o vaizdas vadinamas custom_404, tuomet turėtumėte pakeisti aukščiau pateiktą formatą taip:
tvarkytojas404 = „recipe.views.custom_404“
Įsitikinkite, kad tai darote projekto, o ne programos lygiu. Yra skirtumai tarp projekto ir programos Django.
4 veiksmas: išbandykite naują 404 klaidos puslapį
Norėdami išbandyti naują klaidos puslapį, paleiskite kūrimo serverį ir eikite į neegzistuojantį programos puslapį. Savo serverį galite paleisti komandų eilutės įrankyje (CLI) paleisdami šią komandą:
python manage.py runserver
Kad anksčiau pateikta komanda veiktų, turite būti savo projekto šakniniame kataloge, t. y. aplanke, kuriame valdyti.py failų gyvybės.
Kai serveris paleidžiamas, išbandykite pasirinktinį 404 puslapį, eidami į neegzistuojantį puslapį, pvz., http://127.0.0.1:8000/hello. Jei viską padarėte teisingai, turėtumėte pamatyti pasirinktinį 404 klaidos puslapį.
Jei pasirinktinis 404 klaidos puslapis nepasirodo, turėtumėte patikrinti savo rodinius, kad įsitikintumėte, jog parašėte teisingą kelią į HTML šabloną. pateikti () funkcija, nes tai dažna problema.
Pasirinktiniai klaidų puslapiai suteikia geresnę vartotojo patirtį
Turėdami tinkintą klaidų puslapį savo programoje pagerinsite naudotojų patirtį, kai jie susiduria su klaidomis. Užuot matęs bendrą klaidos pranešimą, tinkintas klaidos puslapis gali pateikti konkretesnės informacijos apie klaidą ir pasiūlyti galimus sprendimus.
Tai gali padėti vartotojams suprasti, kas nutiko ir kaip ją ištaisyti, sumažinti nusivylimą ir padidinti jų pasitikėjimą jūsų programa. Taip pat galėsite įtraukti puslapį, pridėdami pritaikymo neįgaliesiems funkcijų.