Forbedre udseendet af din Django-app ved at udvikle en personlig 404-fejlside i stedet for at stole på den almindelige standard.

Fejlsider er almindelige med webapplikationer. Django-bidragydere har leveret standardsider for nogle af disse fejl, såsom 404-fejlen (Ikke fundet). Men som udvikler er det bedst at have en fejlside, der følger designprincipperne for resten af ​​din webapplikation.

Oprettelse af en brugerdefineret 404-side i Django

404-fejlen er en del af flere HTTP-statuskoder bruges af browseren til at indikere serversvar på browseranmodninger foretaget af en bruger. Django leverer standardskabeloner til nogle af disse statuskoder, og standard 404 fejlsiden i Django ser sådan ud:

Ovenstående billede ser ikke pænt ud, og de fleste virksomheder vil ikke uden videre acceptere det på deres hjemmeside. For at ændre denne side til en tilpasset 404-side efter eget valg, skal du følge nedenstående trin.

Trin 1: Opret en visning for at håndtere 404-fejlen

Åben din views.py fil og opret en visning for 404-fejlsiden. Denne visning skulle returnere en skabelon, der indeholder designet til din tilpassede 404-fejlside. Her er en simpel Django-visning, du kan bruge i dit projekt:

instagram viewer

fra django.genveje importere gengive

# tilpasset 404-visning
defcustom_404(anmodning, undtagelse):
Vend tilbage gengive (anmodning, '404.html', status=404)

Ovenstående kodestykke er en Python funktion (helst kaldet en Django-visning i dette tilfælde), der tager to funktionsargumenter; anmodning, og undtagelse. Det andet argument -undtagelse-giver dig adgang til det undtagelsesobjekt, der udløste 404-fejlen.

Du bør udskifte '404.html' i ovenstående visning med den korrekte sti til din fejl 404 HTML-skabelonside.

Trin 2: Opret en skabelon til din 404-fejl

Opret en ny HTML-fil, der indeholder dit brugerdefinerede design til 404-fejlsiden. Designet skal være i overensstemmelse med resten af ​​din ansøgning. Her er en simpel HTML-skabelon, som du kan bruge i dit projekt. Du bør ændre denne skabelon, som du finder passende:

 404.html skabelon 
html>
<htmllang="da">
<hoved>
<metategnsæt="UTF-8">
<metanavn="udsigtsport"indhold="width=device-width, initial-scale=1.0">
<titel>404 Side ikke fundettitel>
<link
importer 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">
brugerdefineret css
<stil>
krop {
display: flex;
flex-retning: kolonne;
retfærdiggøre-indhold: center;
align-items: center;
højde: 100vh;
font-familie: Arial, sans-serif;
}

.container {
tekst-align: center;
max-bredde: 600px;
}

.emoji {
skriftstørrelse: 8rem;
margin-bund: 20px;
}

h1 {
skriftstørrelse: 3rem;
margin-bund: 20px;
}

p {
skriftstørrelse: 1,5rem;
margin-bund: 20px;
}

.btn {
skriftstørrelse: 1,25rem;
polstring: 10px 20px;
}
stil>
hoved>
<legeme>
<divklasse="beholder">
<divklasse="emoji">😕div>
<h1>Ups! Siden blev ikke fundeth1>
<s>Vi kunne ikke finde den side, du ledte efter.s>
<-enklasse="btn btn-primær"href="/">Gå tilbage til Hjem-en>
div>
legeme>
html>

Trin 3: Rediger dit projekts URL-fil

På dit projektniveau (hvor din settings.py fil er), åbne din urls.py fil og peg fejl 404-handleren til den visning, du oprettede for at håndtere 404-fejlen. Fejl 404 handler kaldes handler404. At pege handler404 efter din mening bør du følge dette format:

handler404 = 'app_name.views.custom_404_view_name'

Hvis din app kaldes opskrift, og udsigten hedder custom_404, så skal du ændre ovenstående format som dette:

handler404 = 'recipe.views.custom_404'

Sørg for, at du gør dette på dit projektniveau og ikke på dit app-niveau. Der er forskelle mellem et projekt og en app i Django.

Trin 4: Test din nye fejl 404-side

For at teste din nye fejlside skal du starte din udviklingsserver og navigere til en ikke-eksisterende side i din applikation. Du kan starte din server ved at køre denne kommando i dit kommandolinjeværktøj (CLI):

python manage.py runserver

For at kommandoen ovenfor skal virke, skal du være i dit projekts rodmappe, dvs. den mappe, hvor din administrere.py fil liv.

Når din server starter, test din tilpassede 404-side ved at navigere til en ikke-eksisterende side som f.eks. http://127.0.0.1:8000/hello. Hvis du har gjort alt korrekt, bør du se din brugerdefinerede 404-fejlside.

Hvis din tilpassede 404-fejlside ikke vises, bør du overveje at tjekke dine visninger for at være sikker på, at du har skrevet den korrekte sti til din HTML-skabelon i render() funktion, da dette er et almindeligt problem.

Tilpassede fejlsider giver bedre brugeroplevelse

At have en tilpasset fejlside i din applikation vil forbedre oplevelsen for dine brugere, når de støder på fejl. I stedet for at se en generisk fejlmeddelelse kan en tilpasset fejlside give mere specifikke oplysninger om fejlen og foreslå mulige løsninger.

Dette kan hjælpe brugerne med at forstå, hvad der gik galt, og hvordan man løser det, hvilket reducerer frustration og øger deres tillid til din applikation. Du vil også være i stand til at gøre siden inkluderende ved at tilføje tilgængelighedsfunktioner.