Migliora l'aspetto della tua app Django sviluppando una pagina di errore 404 personalizzata invece di fare affidamento su quella predefinita.

Le pagine di errore sono comuni con le applicazioni web. I contributori di Django hanno fornito pagine predefinite per alcuni di questi errori come l'errore 404 (non trovato). Ma come sviluppatore, è meglio avere una pagina di errore che segua i principi di progettazione del resto della tua applicazione web.

Creazione di una pagina 404 personalizzata in Django

L'errore 404 fa parte dei vari Codici di stato HTTP utilizzato dal browser per indicare la risposta del server alle richieste del browser effettuate da un utente. Django fornisce modelli predefiniti per alcuni di questi codici di stato e la pagina di errore 404 predefinita in Django ha questo aspetto:

L'immagine sopra non ha un bell'aspetto e la maggior parte delle aziende non la accetterà prontamente sul proprio sito web. Per modificare questa pagina in una pagina 404 personalizzata di tua scelta, devi seguire i passaggi elencati di seguito.

instagram viewer

Passaggio 1: creare una vista per gestire l'errore 404

Apri i tuoi viste.py file e creare una vista per la pagina di errore 404. Questa visualizzazione dovrebbe restituire un modello contenente il design per la tua pagina di errore 404 personalizzata. Ecco una semplice visualizzazione Django che puoi utilizzare nel tuo progetto:

da django.scorciatoie importare rendere

# vista 404 personalizzata
defcustom_404(richiesta, eccezione):
ritorno rendere (richiesta, '404.html', stato=404)

Il frammento di codice sopra è a Funzione Python (preferibilmente chiamata vista Django in questo caso) che accetta due argomenti di funzione; richiesta, E eccezione. Il secondo argomento—eccezione—consente di accedere all'oggetto eccezione che ha attivato l'errore 404.

Dovresti sostituire il "404.html" nella vista precedente con il percorso corretto della pagina del modello HTML dell'errore 404.

Passaggio 2: crea un modello per il tuo errore 404

Crea un nuovo file HTML per contenere il tuo design personalizzato per la pagina di errore 404. Il design dovrebbe essere coerente con il resto dell'applicazione. Ecco un semplice modello HTML che puoi utilizzare nel tuo progetto. Dovresti modificare questo modello come ritieni opportuno:

 modello 404.html 
html>
<htmllang="it">
<Testa>
<metaset di caratteri="UTF-8">
<metanome="finestra"contenuto="larghezza=larghezza-dispositivo, scala-iniziale=1.0">
<titolo>404 pagina non trovatatitolo>
<collegamento
importa Bootstrap
href=" https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel="foglio di stile"
integrità="sha384-KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ"
crossorigin="anonimo">
CSS personalizzato
<stile>
corpo {
display: flessibile;
direzione flessibile: colonna;
giustifica-contenuto: centro;
align-items: centro;
altezza: 100 vh;
famiglia di caratteri: Arial, sans-serif;
}

.contenitore {
text-align: centro;
larghezza massima: 600px;
}

.emoji {
dimensione carattere: 8rem;
margine inferiore: 20px;
}

h1 {
dimensione carattere: 3rem;
margine inferiore: 20px;
}

P {
dimensione carattere: 1,5 rem;
margine inferiore: 20px;
}

.btn {
dimensione carattere: 1,25 rem;
imbottitura: 10px 20px;
}
stile>
Testa>
<corpo>
<divclasse="contenitore">
<divclasse="emoticon">😕div>
<h1>Ops! Pagina non trovatah1>
<P>Non siamo riusciti a trovare la pagina che stavi cercando.P>
<UNclasse="btn btn-primario"href="/">Torna a casaUN>
div>
corpo>
html>

Passaggio 3: modifica il file degli URL del tuo progetto

A livello di progetto (dove il tuo file impostazioni.py file è), apri il tuo URL.py file e indirizzare il gestore dell'errore 404 alla vista creata per gestire l'errore 404. Viene chiamato il gestore dell'errore 404 gestore404. Indicare gestore404 a tuo avviso, dovresti seguire questo formato:

gestore404 = 'nome_app.views.custom_404_nome_vista'

Se la tua app viene chiamata ricettae la vista viene chiamata custom_404, allora dovresti modificare il formato precedente in questo modo:

gestore404 = 'ricetta.views.custom_404'

Assicurati di farlo a livello di progetto e non a livello di app. Ci sono differenze tra un progetto e un'app in Django.

Passaggio 4: prova la tua nuova pagina di errore 404

Per testare la tua nuova pagina di errore, avvia il tuo server di sviluppo e vai a una pagina inesistente nella tua applicazione. Puoi avviare il tuo server eseguendo questo comando nel tuo strumento a riga di comando (CLI):

python manage.py esegue il server

Affinché il comando sopra funzioni, devi essere nella directory principale del tuo progetto, ovvero la cartella in cui il tuo file gestire.py file vite.

Una volta avviato il server, prova la tua pagina 404 personalizzata accedendo a una pagina inesistente come http://127.0.0.1:8000/hello. Se hai fatto tutto correttamente, dovresti vedere la tua pagina di errore 404 personalizzata.

Se la tua pagina di errore 404 personalizzata non viene visualizzata, dovresti considerare di controllare le tue visualizzazioni per assicurarti di aver scritto il percorso corretto al tuo modello HTML nel render() funzione, in quanto si tratta di un problema comune.

Le pagine di errore personalizzate offrono una migliore esperienza utente

Avere una pagina di errore personalizzata nella tua applicazione migliorerà l'esperienza dei tuoi utenti quando riscontrano errori. Invece di visualizzare un messaggio di errore generico, una pagina di errore personalizzata può fornire informazioni più specifiche sull'errore e suggerire possibili soluzioni.

Questo può aiutare gli utenti a capire cosa è andato storto e come risolverlo, riducendo la frustrazione e aumentando la loro fiducia nella tua applicazione. Sarai anche in grado di rendere la pagina inclusiva aggiungendo funzionalità di accessibilità.