Verbeter het uiterlijk van uw Django-app door een gepersonaliseerde 404-foutpagina te ontwikkelen in plaats van te vertrouwen op de gewone standaardpagina.

Foutpagina's komen vaak voor bij webapplicaties. Django-bijdragers hebben standaardpagina's geleverd voor sommige van deze fouten, zoals de 404 (Not Found)-fout. Maar als ontwikkelaar is het het beste om een ​​foutpagina te hebben die de ontwerpprincipes van de rest van uw webapplicatie volgt.

Een aangepaste 404-pagina maken in Django

De 404-fout maakt deel uit van de verschillende HTTP-statuscodes gebruikt door de browser om de reactie van de server op browserverzoeken van een gebruiker aan te geven. Django biedt standaardsjablonen voor sommige van deze statuscodes en de standaard 404-foutpagina in Django ziet er als volgt uit:

De bovenstaande afbeelding ziet er niet mooi uit en de meeste bedrijven zullen deze niet snel accepteren op hun website. Om deze pagina te wijzigen in een aangepaste 404-pagina naar keuze, volgt u de onderstaande stappen.

Stap 1: Maak een weergave om de 404-fout af te handelen

Open je weergaven.py bestand en maak een weergave voor de 404-foutpagina. Deze weergave zou een sjabloon moeten retourneren met het ontwerp voor uw aangepaste 404-foutpagina. Hier is een eenvoudige Django-weergave die u in uw project kunt gebruiken:

van django.snelkoppelingen importeren veroorzaken

# aangepaste 404-weergave
defaangepaste_404(verzoek, uitzondering):
opbrengst renderen (verzoek, '404.html', status=404)

Het bovenstaande codefragment is een Python-functie (in dit geval bij voorkeur een Django-view genoemd) waaraan twee functieargumenten moeten doorgegeven worden; verzoek, En uitzondering. Het tweede argument—uitzondering—hiermee krijgt u toegang tot het uitzonderingsobject dat de 404-fout veroorzaakte.

Je zou de moeten vervangen ‘404.html’ in de bovenstaande weergave met het juiste pad naar uw fout 404 HTML-sjabloonpagina.

Stap 2: maak een sjabloon voor uw 404-fout

Maak een nieuw HTML-bestand met uw aangepaste ontwerp voor de 404-foutpagina. Het ontwerp moet consistent zijn met de rest van uw aanvraag. Hier is een eenvoudige HTML-sjabloon die u in uw project kunt gebruiken. U moet deze sjabloon naar eigen inzicht aanpassen:

 404.html-sjabloon 
html>
<htmllang="en">
<hoofd>
<metatekenset="UTF-8">
<metanaam="uitkijk postje"inhoud="breedte=apparaatbreedte, beginschaal=1.0">
<titel>404 pagina niet gevondentitel>
<koppeling
bootstrap importeren
href=" https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel="stijlblad"
integriteit="sha384-KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ"
crossorigin="anoniem">
aangepaste CSS
<stijl>
lichaam {
weergeven: flex;
flex-richting: kolom;
rechtvaardigen-inhoud: centrum;
items uitlijnen: centreren;
hoogte: 100vh;
font-familie: Arial, schreefloos;
}

.container {
tekst uitlijnen: centreren;
maximale breedte: 600px;
}

.emoji {
lettergrootte: 8rem;
marge-onder: 20px;
}

h1 {
lettergrootte: 3rem;
marge-onder: 20px;
}

P {
lettergrootte: 1.5rem;
marge-onder: 20px;
}

.btn {
lettergrootte: 1.25rem;
opvulling: 10px 20px;
}
stijl>
hoofd>
<lichaam>
<divklas="houder">
<divklas="emoji">😕div>
<h1>Oeps! Pagina niet gevondenh1>
<P>We konden de pagina die u zocht niet vinden.P>
<Aklas="btn btn-primair"href="/">Ga terug naar huisA>
div>
lichaam>
html>

Stap 3: Wijzig het URL-bestand van uw project

Op uw projectniveau (waar uw instellingen.py bestand is), open je URL.py bestand en wijs de fout 404-handler naar de weergave die u hebt gemaakt om de 404-fout af te handelen. De fout 404-handler wordt aangeroepen behandelaar404. Wijzen behandelaar404 naar jouw mening zou je dit formaat moeten volgen:

begeleider404 = 'app_name.views.custom_404_view_name'

Als uw app wordt aangeroepen recept, en de weergave wordt genoemd aangepaste_404, dan moet u het bovenstaande formaat als volgt wijzigen:

begeleider404 = 'recept.views.custom_404'

Zorg ervoor dat u dit op projectniveau doet en niet op app-niveau. Er zijn verschillen tussen een project en een app in Django.

Stap 4: Test uw nieuwe Error 404-pagina

Om uw nieuwe foutpagina te testen, start u uw ontwikkelingsserver en navigeert u naar een niet-bestaande pagina in uw toepassing. U kunt uw server starten door deze opdracht uit te voeren in uw opdrachtregelprogramma (CLI):

python manage.py runserver

Om de bovenstaande opdracht te laten werken, moet u zich in de hoofdmap van uw project bevinden, d.w.z. de map waar uw beheren.py bestand leeft.

Zodra uw server start, test u uw aangepaste 404-pagina door naar een niet-bestaande pagina te navigeren, zoals http://127.0.0.1:8000/hello. Als je alles correct hebt gedaan, zou je je aangepaste 404-foutpagina moeten zien.

Als uw aangepaste 404-foutpagina niet verschijnt, kunt u overwegen uw weergaven te controleren om er zeker van te zijn dat u het juiste pad naar uw HTML-sjabloon hebt geschreven in de veroorzaken() functioneren, aangezien dit een veelvoorkomend probleem is.

Aangepaste foutpagina's zorgen voor een betere gebruikerservaring

Het hebben van een aangepaste foutpagina in uw applicatie zal de ervaring van uw gebruikers verbeteren wanneer ze fouten tegenkomen. In plaats van een algemeen foutbericht te zien, kan een aangepaste foutpagina meer specifieke informatie over de fout geven en mogelijke oplossingen voorstellen.

Dit kan gebruikers helpen begrijpen wat er mis is gegaan en hoe ze dit kunnen oplossen, waardoor frustratie wordt verminderd en hun vertrouwen in uw toepassing wordt vergroot. U kunt de pagina ook inclusief maken door toegankelijkheidsfuncties toe te voegen.