Flask 单独蓝图中的errorhandler不工作
我目前正在使用flask开发一个应用程序。每当我遇到错误时,我都会使用abort来引发它,例如abort(404) 我创建了错误处理的新蓝图,并在错误蓝图中包含以下文件: app/errors/\uuuuuuu init\uuuuuuuuuuuuuuuuuupyFlask 单独蓝图中的errorhandler不工作,flask,python-3.7,Flask,Python 3.7,我目前正在使用flask开发一个应用程序。每当我遇到错误时,我都会使用abort来引发它,例如abort(404) 我创建了错误处理的新蓝图,并在错误蓝图中包含以下文件: app/errors/\uuuuuuu init\uuuuuuuuuuuuuuuuuupy from flask import Blueprint bp = Blueprint('errors', __name__) from app.errors import handlers from app.errors impo
from flask import Blueprint
bp = Blueprint('errors', __name__)
from app.errors import handlers
from app.errors import bp
from flask import jsonify, make_response
@bp.errorhandler(404)
def not_found_error():
return make_response(jsonify({"error: ", "Not found"}), 404)
from app.errors import bp as errors_bp
app.register_blueprint(errors_bp)
app/errors/handlers.py
from flask import Blueprint
bp = Blueprint('errors', __name__)
from app.errors import handlers
from app.errors import bp
from flask import jsonify, make_response
@bp.errorhandler(404)
def not_found_error():
return make_response(jsonify({"error: ", "Not found"}), 404)
from app.errors import bp as errors_bp
app.register_blueprint(errors_bp)
我还将蓝图登记如下:
app/\uuuu init\uuuuu.py
from flask import Blueprint
bp = Blueprint('errors', __name__)
from app.errors import handlers
from app.errors import bp
from flask import jsonify, make_response
@bp.errorhandler(404)
def not_found_error():
return make_response(jsonify({"error: ", "Not found"}), 404)
from app.errors import bp as errors_bp
app.register_blueprint(errors_bp)
然而,当我遇到错误时,我会得到一个HTML响应,而不是JSON响应。如果我将errorhandler包含在与API相同的蓝图中,它就可以正常工作。我如何有一个单独的错误处理程序蓝图?这个答案解释了您的解决方案,并对我有用: 看起来代码中唯一的问题是您正在使用
@bp.errorhandler(404)
你应该使用
@bp.app\u errorhandler(404)
您解决了这个问题吗?