Düz varsayılan sayfaya güvenmek yerine kişiselleştirilmiş bir 404 hata sayfası geliştirerek Django uygulamanızın görünümünü iyileştirin.
Hata sayfaları web uygulamalarında yaygındır. Django'ya katkıda bulunanlar, 404 (Bulunamadı) hatası gibi bu hataların bazıları için varsayılan sayfalar sağladı. Ancak bir geliştirici olarak, web uygulamanızın geri kalanının tasarım ilkelerini izleyen bir hata sayfasına sahip olmak en iyisidir.
Django'da Özel 404 Sayfası Oluşturma
404 hatası, birkaç hatanın bir parçasıdır. HTTP durum kodları bir kullanıcı tarafından yapılan tarayıcı isteklerine sunucu yanıtını belirtmek için tarayıcı tarafından kullanılır. Django, bu durum kodlarından bazıları için varsayılan şablonlar sağlar ve Django'daki varsayılan 404 hata sayfası şöyle görünür:
Yukarıdaki resim hoş görünmüyor ve çoğu şirket bunu web sitelerinde hemen kabul etmeyecek. Bu sayfayı istediğiniz özel bir 404 sayfası olarak değiştirmek için aşağıda listelenen adımları izlemelisiniz.
1. Adım: 404 Hatasını İşleyecek Bir Görünüm Oluşturun
aç senin görünümler.py dosyasını açın ve 404 hata sayfası için bir görünüm oluşturun. Bu görünüm, özel 404 hata sayfanız için tasarımı içeren bir şablon döndürmelidir. İşte projenizde kullanabileceğiniz basit bir Django görünümü:
itibaren django.kısayollar içe aktarmak işlemek
# özel 404 görünümü
kesinlikleözel_404(istek, istisna):
geri dönmek render (istek, '404.html', durum=404)
Yukarıdaki kod parçacığı bir Python işlevi (bu durumda tercihen Django görünümü olarak adlandırılır) iki işlev bağımsız değişkeni alır; rica etmek, Ve istisna. İkinci argüman—istisna—404 hatasını tetikleyen istisna nesnesine erişmenizi sağlar.
değiştirmelisin "404.html" yukarıdaki görünümde, hata 404 HTML şablon sayfanızın doğru yolu ile.
2. Adım: 404 Hatanız İçin Bir Şablon Oluşturun
404 hata sayfası için özel tasarımınızı içerecek yeni bir HTML dosyası oluşturun. Tasarım, uygulamanızın geri kalanıyla tutarlı olmalıdır. İşte projenizde kullanabileceğiniz basit bir HTML şablonu. Bu şablonu uygun gördüğünüz şekilde değiştirmelisiniz:
404.html şablonu
html>
<htmldil="tr">
<KAFA>
<metakarakter kümesi="UTF-8">
<metaisim="görüntü alanı"içerik="genişlik=cihaz genişliği, başlangıç ölçeği=1.0">
<başlık>404 Sayfa Bulunamadıbaşlık>
<bağlantı
Bootstrap'i içe aktar
href=" https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel="stil sayfası"
bütünlük="sha384-KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ"
crossorigin="anonim">
özel css
<stil>
vücut {
ekran: esnek;
esnek yön: sütun;
haklı içerik: merkez;
hizalama öğeleri: merkez;
yükseklik: 100vh;
yazı tipi ailesi: Arial, sans-serif;
}.konteyner {
metin hizalama: merkez;
maksimum genişlik: 600 piksel;
}.emoji {
yazı tipi boyutu: 8rem;
kenar boşluğu: 20 piksel;
}h1 {
yazı tipi boyutu: 3rem;
kenar boşluğu: 20 piksel;
}P {
yazı tipi boyutu: 1.5rem;
kenar boşluğu: 20 piksel;
}
.btn {
yazı tipi boyutu: 1.25rem;
dolgu: 10 piksel 20 piksel;
}
stil>
KAFA>
<vücut>
<divsınıf="konteyner">
<divsınıf="emoji">😕div>
<h1>Hata! Sayfa bulunamadıh1>
<P>Aradığınız sayfayı bulamadık.P>
<Asınıf="btn btn-birincil"href="/">Evine geri dönA>
div>
vücut>
html>
3. Adım: Projenizin URL Dosyasını Değiştirin
Proje seviyenizde (burada ayarlar.py dosya), açın urls.py dosyasını açın ve hata 404 işleyicisini, 404 hatasını işlemek için oluşturduğunuz görünüme yönlendirin. Hata 404 işleyicisi çağrılır işleyici404. işaret etmek işleyici404 size göre şu formatı izlemelisiniz:
işleyici404 = "app_name.views.custom_404_view_name"
Uygulamanız çağrılırsa yemek tarifive görünüm denir özel_404, o zaman yukarıdaki formatı şu şekilde değiştirmelisiniz:
işleyici404 = "tarif.görünümler.özel_404"
Bunu uygulama düzeyinde değil, proje düzeyinde yaptığınızdan emin olun. Var Django'da bir proje ile bir uygulama arasındaki farklar.
4. Adım: Yeni Hata 404 Sayfanızı Test Edin
Yeni hata sayfanızı test etmek için geliştirme sunucunuzu başlatın ve uygulamanızda var olmayan bir sayfaya gidin. Komut satırı aracınızda (CLI) bu komutu çalıştırarak sunucunuzu başlatabilirsiniz:
python manager.py çalıştırma sunucusu
Yukarıdaki komutun çalışması için projenizin kök dizininde, yani projenizin bulunduğu klasörde olmalısınız. yönet.py dosya hayatları.
Sunucunuz başladıktan sonra, varolmayan bir sayfaya giderek özel 404 sayfanızı test edin. http://127.0.0.1:8000/hello. Her şeyi doğru yaptıysanız, özel 404 hata sayfanızı görmelisiniz.
Özel 404 hata sayfanız görünmüyorsa, HTML şablonunuzun doğru yolunu yazdığınızdan emin olmak için görünümlerinizi kontrol etmeyi düşünmelisiniz. render() işlev, çünkü bu yaygın bir sorundur.
Özel Hata Sayfaları Daha İyi Kullanıcı Deneyimi Sağlar
Uygulamanızda özel bir hata sayfasına sahip olmak, kullanıcılarınızın hatalarla karşılaştıklarında deneyimlerini iyileştirecektir. Özel bir hata sayfası, genel bir hata mesajı görmek yerine hata hakkında daha spesifik bilgiler sağlayabilir ve olası çözümler önerebilir.
Bu, kullanıcıların neyin yanlış gittiğini ve nasıl düzeltileceğini anlamalarına yardımcı olarak hayal kırıklıklarını azaltabilir ve uygulamanıza olan güvenlerini artırabilir. Ayrıca erişilebilirlik özellikleri ekleyerek sayfayı kapsayıcı hale getirebileceksiniz.