エラーをテンプレートにマップするためのerrors.py
モジュールがあります。私は、デフォルトのエラーハンドラを追加したいと出くわした:http://flask.pocoo.org/mailinglist/archive/2012/7/12/default-error-handler/#cbeb8809dc0da7133f14b99e16f31d6bフラスコのデフォルトエラーハンドラが呼び出されていません
私は物事をモジュール化するBlueprint
を使用していますし、エラーのモジュールは、以下のマッピングがあります。
@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
固有のマッピング(403、500)私がそれらに中止する(または自然に誘導する)場合はうまく動作しますが、他のもの(404など)にアボートすると、defaulHandler()
は呼び出されません。
ませ例外は、私が(フラスコ内に構築されたサーバを使用して実行されている)を識別できることを提起しないされています。とにかく私の500マッピングがヒットしたと思いました。 – bqui56
私にとっては、 'flask == 0.10.1'と' wergzeug = 0.9.4'でうまく動作します。ユーザー例外については、コードがhttps://github.com/mitsuhiko/flask/blob/master/flask/app.py#L1475で処理されなかった理由が考えられます。 – tbicr