Flask Özel Hata Sayfaları [404 - 403 - 410 - 500]

Flask ile hazırladığınız web sayfaları ve uygulamalarda özel hata sayfaları oluşturarak kullanıcıları daha doğru bir şekilde bilgilendirebilir ve yönlendirebilirsiniz. İstediğiniz tüm hata kodları için Flask ile nasıl özel yönlendirmeler hazırlayacağımızı öğrenmeye başlayalım.

Flask ile nasıl kolay ve hızlıca web siteleri oluşturabileceğimizi daha önceki derslerimizde adım adım işlemiştik. Şimdi ise genelde ihmal edilen ama kullanıcı deneyimi açısından önemli bir nokta olan özel hata sayfalarını hazırlayarak kullanıcılara doğru bilgileri verebilecek ve hata durumuna göre işlem yapabileceğiz.

Konumuza başlarken öncelikle gerekli Flask ortamımızı hazırlayalım. Unutanlar hızlıca şu derse bakabilir.

from flask import Flask,render_template

app = Flask(__name__)

@app.route("/")
def anaSayfa():
    return "Merhaba Kerteriz Blog ziyaretçileri!"

if __name__ == "__main__":
    app.run(debug=True)

Buraya kadar sıradan ve önceki derslerde gördüğümüz gibi basit bir Flask sayfası oluşturmuş olduk. Artık sırada hata durumlarını sürekli kontrol edip ilgili sayfaya yönlendirecek errorhandler işlevini devreye sokma işlemimiz var. Bunun için app uygulamamızın errorhandler fonksiyonu ile dinlemek istediğimiz hata kodunu yönlendireceğimiz sayfaya iletecek kodu yazmalıyız. Aşağıda 404 hata kodu için örnek bir kullanım görebilirsiniz.

@app.errorhandler(404)
def not_found(e):
  return render_template('404.html'), 404

Gerekli errorhandler‘i yazdık ve 404 hatasının gerçekleştiği durumda templates klasörümüzün içindeki 404.html sayfasına gerekli yönlendirmeyi yapmış olduk. Son durumda index.py dosyamız aşağıdaki gibi olacaktır.

from flask import Flask,render_template

app = Flask(__name__)

@app.errorhandler(404)
def not_found(e):
  return render_template('404.html'), 404

@app.route("/")
def anaSayfa():
    return "Merhaba Kerteriz Blog ziyaretçileri!"

if __name__ == "__main__":
    app.run(debug=True)

Artık iligili sayfa bulunamadığında verilen 404 hatası meydana geldiğinde 404.html sayfası ekrana basılacaktır. Sizler diğer hata kodları içinde özel sayfaları rahatça oluşturabilirsiniz. Bu kodlar neler diyenler için en çok karşılaşabileceğiniz hataları aşağıya özet bir tablo ile koyalım.

Hata KoduAçıklama
404 Not Foundİstek yapılan kaynağın (veya sayfanın) bulunamadığını belirtir.
403 ForbiddenKaynağın yasaklandığını belirtir.
410 GoneKaynak artık yok.
500 Internal Server ErrorSunucuda bir hata oluştu ve istek karşılanamadı.

Sormak istediğiniz ve takıldığınız yerler için aşağıya yorum bırakabilirsiniz.