Hataları şablonlarda eşlemek için bir errors.py
modülüne sahibim. Ben varsayılan bir hata işleyicisi eklemek isteyen ve karşıdan karşıya geldi: http://flask.pocoo.org/mailinglist/archive/2012/7/12/default-error-handler/#cbeb8809dc0da7133f14b99e16f31d6bFlask varsayılan hata işleyicisi çağrılmadı
bir şeyleri modülarize için Blueprint
kullanıyorum ve hatalar modülü aşağıdaki eşleştirmeleri sahiptir:
@err.app_errorhandler(403)
def forbidden(e):
return render_template('403.html'), 403
@err.app_errorhandler(500)
def serverError(e):
return render_template('500.html'), 500
@err.app_errorhandler(Exception)
def defaultHandler(e):
return render_template('defaultError.html'), e.code
belirli eşleştirmeleri (403, 500) Onları iptal edersem (ya da onları doğal olarak indüklerse) iyi çalışırım, ancak başka bir şeye (404 vb.) son verirsem defaulHandler()
çağrılmaz.
İstisna yok I (şişeyi dahili sunucu kullanarak çalıştıran) tespit edebilirsiniz gündeme edilmektedir. 500 haritanımın yine de olsa vurulacağını düşünürdüm. – bqui56
Benim için iyi çalışıyor, 'flask == 0.10.1' ve' wergzeug = 0.9.4'. Kullanıcı istisnaları hakkında, kodunuzun neden orada kullanılmadığını inceleyin. Https://github.com/mitsuhiko/flask/blob/master/flask/app.py#L1475. – tbicr