Popraw wygląd swojej aplikacji Django, opracowując spersonalizowaną stronę błędu 404 zamiast polegać na zwykłej, domyślnej stronie.

Strony błędów są typowe dla aplikacji internetowych. Współtwórcy Django udostępnili domyślne strony dla niektórych z tych błędów, takich jak błąd 404 (Not Found). Ale jako programista najlepiej jest mieć stronę błędu, która jest zgodna z zasadami projektowania reszty aplikacji internetowej.

Tworzenie niestandardowej strony 404 w Django

Błąd 404 jest częścią kilku Kody stanu HTTP używane przez przeglądarkę do wskazywania odpowiedzi serwera na żądania przeglądarki wysyłane przez użytkownika. Django udostępnia domyślne szablony dla niektórych z tych kodów statusu, a domyślna strona błędu 404 w Django wygląda tak:

Powyższy obraz nie wygląda ładnie i większość firm niechętnie zaakceptuje go na swojej stronie internetowej. Aby zmienić tę stronę na wybraną przez siebie niestandardową stronę 404, wykonaj czynności wymienione poniżej.

Krok 1: Utwórz widok, aby obsłużyć błąd 404

Otwórz swoje wyświetlenia.py plik i utwórz widok dla strony błędu 404. Ten widok powinien zwrócić szablon zawierający projekt niestandardowej strony błędu 404. Oto prosty widok Django, którego możesz użyć w swoim projekcie:

z django.skróty import renderowanie

# niestandardowy widok 404
pokniestandardowe_404(prośba, wyjątek):
powrót renderować (prośba, „404.html”, status=404)

Powyższy fragment kodu to a Funkcja Pythona (najlepiej nazywany w tym przypadku widokiem Django), który przyjmuje dwa argumenty funkcji; wniosek, I wyjątek. Drugi argument —wyjątek— umożliwia dostęp do obiektu wyjątku, który wywołał błąd 404.

Powinieneś wymienić tzw „404.html” w powyższym widoku z poprawną ścieżką do strony szablonu HTML błędu 404.

Krok 2: Utwórz szablon dla błędu 404

Utwórz nowy plik HTML zawierający niestandardowy projekt strony błędu 404. Projekt powinien być spójny z resztą aplikacji. Oto prosty szablon HTML, którego możesz użyć w swoim projekcie. Powinieneś zmodyfikować ten szablon według własnego uznania:

 szablon 404.html 
HTML>
<HTMLlang="pl">
<głowa>
<metazestaw znaków=„UTF-8”>
<metanazwa=„rzutnia”treść=„szerokość = szerokość urządzenia, skala początkowa = 1,0”>
<tytuł>404 Nie znaleziono stronytytuł>
<połączyć
zaimportuj Bootstrapa
href=" https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel="arkusz stylów"
integralność = "sha384-KK94CHFLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ"
crossorigin="anonimowy">
niestandardowe CSS
<styl>
ciało {
wyświetlacz: elastyczny;
kierunek zginania: kolumna;
justify-content: środek;
elementy wyrównania: środek;
wysokość: 100vh;
rodzina czcionek: Arial, bezszeryfowa;
}

.pojemnik {
wyrównanie tekstu: środek;
maksymalna szerokość: 600px;
}

emoji {
rozmiar czcionki: 8rem;
margines dolny: 20px;
}

h1 {
rozmiar czcionki: 3rem;
margines dolny: 20px;
}

P {
rozmiar czcionki: 1,5 rem;
margines dolny: 20px;
}

.btn {
rozmiar czcionki: 1,25rem;
wypełnienie: 10px 20px;
}
styl>
głowa>
<ciało>
<dzklasa="pojemnik">
<dzklasa=„emotikony”>😕dz>
<h1>Ups! Strona nie znalezionah1>
<P>Nie mogliśmy znaleźć strony, której szukałeś.P>
<Aklasa="btn btn-podstawowy"href="/">Wracać do domuA>
dz>
ciało>
HTML>

Krok 3: Zmodyfikuj plik adresów URL projektu

Na poziomie twojego projektu (gdzie twój ustawienia.py plik jest), otwórz plik urls.py plik i skieruj moduł obsługi błędu 404 do widoku utworzonego w celu obsługi błędu 404. Wywoływana jest procedura obsługi błędu 404 obsługa404. Wskazać obsługa404 Twoim zdaniem, powinieneś postępować zgodnie z tym formatem:

obsługi404 = „nazwa_aplikacji.views.custom_404_view_name”

Jeśli twoja aplikacja jest wywoływana przepis, a widok nazywa się niestandardowe_404, powinieneś zmodyfikować powyższy format w następujący sposób:

obsługi404 = „przepis.widoki.niestandardowe_404”

Upewnij się, że robisz to na poziomie projektu, a nie aplikacji. Tam są różnice między projektem a aplikacją w Django.

Krok 4: Przetestuj nową stronę błędu 404

Aby przetestować nową stronę błędów, uruchom serwer programistyczny i przejdź do nieistniejącej strony w aplikacji. Możesz uruchomić serwer, uruchamiając to polecenie w narzędziu wiersza poleceń (CLI):

python Manage.py serwer uruchomieniowy

Aby powyższe polecenie zadziałało, musisz znajdować się w katalogu głównym swojego projektu, tj zarządzaj.py życie plików.

Po uruchomieniu serwera przetestuj niestandardową stronę 404, przechodząc do nieistniejącej strony, takiej jak http://127.0.0.1:8000/hello. Jeśli wszystko zrobiłeś poprawnie, powinieneś zobaczyć swoją niestandardową stronę błędu 404.

Jeśli Twoja niestandardowa strona błędu 404 nie zostanie wyświetlona, ​​rozważ sprawdzenie swoich widoków, aby upewnić się, że napisałeś poprawną ścieżkę do szablonu HTML w renderowanie() funkcji, ponieważ jest to częsty problem.

Niestandardowe strony błędów zapewniają lepsze wrażenia użytkownika

Posiadanie niestandardowej strony błędu w aplikacji poprawi wrażenia użytkowników, gdy napotkają błędy. Zamiast ogólnego komunikatu o błędzie, niestandardowa strona błędu może zawierać bardziej szczegółowe informacje o błędzie i sugerować możliwe rozwiązania.

Może to pomóc użytkownikom zrozumieć, co poszło nie tak i jak to naprawić, zmniejszając frustrację i zwiększając ich zaufanie do Twojej aplikacji. Będziesz także mógł włączyć stronę, dodając funkcje ułatwień dostępu.