Mam moduł errors.py
do mapowania błędów do szablonów. Byłem chcąc dodać obsługi domyślne błędzie i natknąłem: http://flask.pocoo.org/mailinglist/archive/2012/7/12/default-error-handler/#cbeb8809dc0da7133f14b99e16f31d6bDomyślny program obsługi kolb nie jest wywoływany
Używam Blueprint
zmodularyzować rzeczy, a moduł ma następujące błędy mapowania:
@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
Konkretne mapowania (403, 500) działa dobrze, jeśli przerywam je (lub wywołuję je w sposób naturalny), ale jeśli przestawię się na cokolwiek innego (404 itd.), nie jest wywoływana defaulHandler()
.
Żadnych wyjątków są podnoszone, że mogę zidentyfikować (uruchomiony za pomocą kolby serwera wbudowane). Myślałam, że moje 500 map zostało trafione, gdyby tak było. – bqui56
Dla mnie działa dobrze, 'flask == 0.10.1' i' wergzeug = 0.9.4'. Informacje o wyjątkach użytkowników sprawdzają, dlaczego Twój kod nie obsługuje tam https://github.com/mitsuhiko/flask/blob/master/flask/app.py#L1475. – tbicr