errorhandler
是继承自 Flask 的方法,而不是 Blueprint。如果您使用的是蓝图,则等效为app_errorhandler
.
该文档建议采用以下方法:
def app_errorhandler(self, code):
"""Like :meth:`Flask.errorhandler` but for a blueprint. This
handler is used for all requests, even if outside of the blueprint.
"""
因此,这应该有效:
from flask import Blueprint, render_template
USER = Blueprint('user', __name__)
@USER.app_errorhandler(404)
def page_not_found(e):
""" Return error 404 """
return render_template('404.html'), 404
另一方面,虽然下面的方法对我没有任何错误,但它不起作用:
from flask import Blueprint, render_template
USER = Blueprint('user', __name__)
@USER.errorhandler(404)
def page_not_found(e):
""" Return error 404 """
return render_template('404.html'), 404