Flask框架 之abort、自定义错误、视图函数返回值与jsonify

时间:2025-04-27 19:04:14

一、abort函数

  使用abort函数可以立即终止视图函数的执行,并可以返回给前端特定的值。

  abort函数的作用:

    • 1、传递状态码,必须是标准的http状态码
    • 2、传递响应体信息
@app.route("/login", methods=["POST", "GET"])
def login():
name = request.form.get("name")
password = request.form.get("password")
if name != "yy" or password != "admin":
# 使用abort函数可以立即终止视图函数的执行
# 并可以返回给前端特定的值
# 1、传递状态码,必须是标准的http状态码
abort(400)
# 2、传递响应体信息
resp = Response("login failed")
abort(resp)
return "登录成功"

二、自定义错误信息

  通过@app.errorhandler(状态码)定义

@app.errorhandler(404)
def error_404(error):
return "您访问的页面不存在!!!错误信息:%s" % error @app.errorhandler(405)
def error_405(error):
return "禁止访问,错误信息:%s" % error

三、视图返回信息(Response)处理

# 1、使用元组返回自定义响应信息
@app.route("/")
def index():
# 响应体 状态码 响应头
# return "hello world", 400, [("city", "yy")]
return "this is index", "666 status", {"city": "yy"}

Flask框架 之abort、自定义错误、视图函数返回值与jsonify

# 2、使用make_response返回自定义响应信息
@app.route("/login")
def login():
resp = make_response("this is login")
resp.status = "999 status"
resp.headers["city"] = "yy"
return resp

Flask框架 之abort、自定义错误、视图函数返回值与jsonify

四、返回json数据

@app.route("/")
def index():
# data = {
# "name": "yy",
# "age": 18
# }
# json_str = json.dumps(data)
# return json_str, 200, {"Content-type": "application/json"}
return jsonify(name="yy", age="")