Flask框架 之abort、自定义错误、视图函数返回值与jsonify
一、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"}
# 2、使用make_response返回自定义响应信息 @app.route("/login") def login(): resp = make_response("this is login") resp.status = "999 status" resp.headers["city"] = "yy" return resp
四、返回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="18")