Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flask 单独蓝图中的errorhandler不工作_Flask_Python 3.7 - Fatal编程技术网

Flask 单独蓝图中的errorhandler不工作

Flask 单独蓝图中的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

我目前正在使用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 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)

您解决了这个问题吗?