36

ブループリントに error_handler を設定できますか?

@blueprint.errorhandler(404)
def page_not_found(error):
    return 'This page does not exist', 404

編集:

https://github.com/mitsuhiko/flask/blob/18413ed1bf08261acf6d40f8ba65a98ae586bb29/flask/blueprints.py

アプリ全体とブループリントのローカル error_handler を指定できます

4

7 に答える 7

42

Blueprint.app_errorhandler次のような方法を使用できます。

bp = Blueprint('errors', __name__)

@bp.app_errorhandler(404)
def handle_404(err):
    return render_template('404.html'), 404

@bp.app_errorhandler(500)
def handle_500(err):
    return render_template('500.html'), 500
于 2013-11-13T10:17:56.637 に答える
2

私も最高評価の回答を得ることができませんでしたが、ここに回避策があります。

ブループリントの最後でキャッチオールを使用できますが、それがどれほど堅牢で推奨されるかはわかりませんが、機能します。メソッドごとに異なるエラー メッセージを追加することもできます。

@blueprint.route('/<path:path>')
def page_not_found(path):
    return "Custom failure message"
于 2016-09-29T12:39:54.230 に答える