Îmbunătățiți aspectul aplicației dvs. Django dezvoltând o pagină de eroare 404 personalizată, în loc să vă bazați pe cea implicită simplă.

Paginile de eroare sunt comune cu aplicațiile web. Colaboratorii Django au furnizat pagini implicite pentru unele dintre aceste erori, cum ar fi eroarea 404 (Negăsit). Dar, în calitate de dezvoltator, cel mai bine este să aveți o pagină de eroare care urmează principiile de design ale restului aplicației dvs. web.

Crearea unei pagini personalizate 404 în Django

Eroarea 404 face parte din mai multe Codurile de stare HTTP utilizat de browser pentru a indica răspunsul serverului la solicitările de browser făcute de un utilizator. Django oferă șabloane implicite pentru unele dintre aceste coduri de stare, iar pagina implicită de eroare 404 din Django arată astfel:

Imaginea de mai sus nu arată frumos și majoritatea companiilor nu o vor accepta cu ușurință pe site-ul lor. Pentru a schimba această pagină într-o pagină personalizată 404 la alegere, ar trebui să urmați pașii enumerați mai jos.

instagram viewer

Pasul 1: Creați o vizualizare pentru a gestiona eroarea 404

Deschide-ți vederi.py fișier și creați o vizualizare pentru pagina de eroare 404. Această vizualizare ar trebui să returneze un șablon care să conțină designul pentru pagina de eroare 404 personalizată. Iată o vizualizare simplă Django pe care o poți folosi în proiectul tău:

din django.comenzi rapide import face

# vizualizare 404 personalizată
defcustom_404(cerere, excepție):
întoarcere randa (cerere, „404.html”, stare=404)

Fragmentul de cod de mai sus este a Funcția Python (de preferință numită vedere Django în acest caz) care ia două argumente de funcție; cerere, și excepție. Al doilea argument -excepție— vă permite să accesați obiectul excepție care a declanșat eroarea 404.

Ar trebui să înlocuiți „404.html” în vizualizarea de mai sus cu calea corectă către pagina șablonului HTML de eroare 404.

Pasul 2: Creați un șablon pentru eroarea dvs. 404

Creați un fișier HTML nou care să conțină designul dvs. personalizat pentru pagina de eroare 404. Designul ar trebui să fie în concordanță cu restul aplicației dvs. Iată un șablon HTML simplu pe care îl puteți folosi în proiectul dvs. Ar trebui să modificați acest șablon după cum credeți de cuviință:

 șablon 404.html 
html>
<htmllang="ro">
<cap>
<metaset de caractere=„UTF-8”>
<metaNume="vizor"conţinut=„width=device-width, initial-scale=1.0”>
<titlu>404 Pagina nu a fost găsitătitlu>
<legătură
importa Bootstrap
href=" https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel="foaia de stil"
integritate="sha384-KK94CHFLle+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ"
crossorigin="anonim">
CSS personalizat
<stil>
corp {
display: flex;
flex-direcție: coloană;
justificare-conținut: centru;
alinierea elementelor: centru;
inaltime: 100vh;
familie de fonturi: Arial, sans-serif;
}

.container {
text-align: centru;
lățime maximă: 600px;
}

.emoji {
dimensiunea fontului: 8rem;
margine-jos: 20px;
}

h1 {
dimensiunea fontului: 3rem;
margine-jos: 20px;
}

p {
dimensiunea fontului: 1.5rem;
margine-jos: 20px;
}

.btn {
dimensiunea fontului: 1.25rem;
umplutură: 10px 20px;
}
stil>
cap>
<corp>
<divclasă="container">
<divclasă=„emoji”>😕div>
<h1>Hopa! Pagina nu a fost gasitah1>
<p>Nu am putut găsi pagina pe care o căutați.p>
<Aclasă=„btn btn-primar”href="/">Mergi înapoi acasăA>
div>
corp>
html>

Pasul 3: Modificați fișierul URL-uri ale proiectului

La nivelul proiectului dvs. (unde dvs setări.py este), deschideți-vă urls.py fișier și îndreptați handlerul de eroare 404 către vizualizarea pe care ați creat-o pentru a gestiona eroarea 404. Este apelat handlerul de eroare 404 handler404. La punctul handler404 după părerea dvs., ar trebui să urmați acest format:

handler404 = „app_name.views.custom_404_view_name”

Dacă aplicația dvs. este apelată reţetă, iar vizualizarea este numită custom_404, atunci ar trebui să modificați formatul de mai sus astfel:

handler404 = „recipe.views.custom_404”

Asigurați-vă că faceți acest lucru la nivel de proiect și nu la nivel de aplicație. Sunt diferențele dintre un proiect și o aplicație în Django.

Pasul 4: Testați noua pagină de eroare 404

Pentru a testa noua pagină de eroare, porniți serverul de dezvoltare și navigați la o pagină inexistentă în aplicația dvs. Puteți porni serverul rulând această comandă în instrumentul de linie de comandă (CLI):

python manage.py runserver

Pentru ca comanda de mai sus să funcționeze, trebuie să vă aflați în directorul rădăcină al proiectului, adică folderul în care dvs. gestionează.py dosar vieți.

Odată ce pornește serverul, testați pagina personalizată 404 navigând la o pagină inexistentă, cum ar fi http://127.0.0.1:8000/hello. Dacă ați făcut totul corect, ar trebui să vedeți pagina de eroare 404 personalizată.

Dacă pagina dvs. personalizată de eroare 404 nu apare, ar trebui să vă verificați vizualizările pentru a vă asigura că ați scris calea corectă către șablonul HTML în face() funcția, deoarece aceasta este o problemă comună.

Paginile de eroare personalizate oferă o experiență mai bună pentru utilizator

Dacă aveți o pagină de eroare personalizată în aplicația dvs., vă va îmbunătăți experiența utilizatorilor atunci când întâmpină erori. În loc să vadă un mesaj de eroare generic, o pagină de eroare personalizată poate oferi informații mai specifice despre eroare și poate sugera soluții posibile.

Acest lucru poate ajuta utilizatorii să înțeleagă ce a mers prost și cum să o remedieze, reducând frustrarea și sporindu-le încrederea în aplicația dvs. De asemenea, veți putea face pagina inclusivă prin adăugarea de funcții de accesibilitate.