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.