300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Web框架——Flask系列之abort函数与自定义异常处理(十三)

Web框架——Flask系列之abort函数与自定义异常处理(十三)

时间:2024-07-20 23:22:13

相关推荐

Web框架——Flask系列之abort函数与自定义异常处理(十三)

一、abort函数

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

传递状态码信息,必须是标准的http状态码

abort(403)传递响应体信息

resp = Response(“login failed”)

abort(resp)

from flask import Flask,request,abort,Responseapp = Flask(__name__)@app.route("/login",methods=["GET"])def login():name = ""pwd = ""if name !="zhangsan" or pwd !="admin":# 使用abort函数可以立即终止视图函数的执行# 并可以返回给前端特定的信息# 1. 传递状态码信息,必须是标准的http状态码# abort(403)# 2. 传递响应体信息resp = Response("login failed")abort(resp)return "login success"if __name__ == '__main__':app.run(debug=True)

二、自定义异常处理(错误信息)

@app.route("/login",methods=["GET"])def login():name = ""pwd = ""if name !="zhangsan" or pwd !="admin":# 使用abort函数可以立即终止视图函数的执行# 并可以返回给前端特定的信息# 1. 传递状态码信息,必须是标准的http状态码abort(404)# 2. 传递响应体信息# resp = Response("login failed")# abort(resp)return "login success"# 自定义的处理错误的方法@app.errorhandler(404)def handle_404_error(err):# 这个函数的返回值会是前端用户看到的最终结果return "您访问的页面不存在,出现了404错误!错误信息:%s" % errif __name__ == '__main__':app.run(debug=True)

三、返回的响应数据

可以返回一个元组,这样的元组必须是 (response, status, headers) 的形式,且至少包含一个元素。 status 值会覆盖状态代码, headers 可以是一个列表或字典,作为额外的消息标头值。

使用元组或字典,返回自定义的响应信息

from flask import Flask,request,abort,Responseapp = Flask(__name__)@app.route("/index",methods=["GET"])def index():# 1. 使用元组,返回自定义的响应信息# 响应体 状态码 响应头return "index page" , 400 , [("Itcast","python"),("City","shenzhen")]

from flask import Flask,request,abort,Responseapp = Flask(__name__)@app.route("/index",methods=["GET"])def index():# # 1. 使用元组,返回自定义的响应信息# # 响应体 状态码 响应头# return "index page" , 400 , [("Itcast","python"),("City","shenzhen")]return "index page" , 400 , {"Itcast":"python1","City1":"sz1"}if __name__ == '__main__':app.run(debug=True)

from flask import Flask,request,abort,Responseapp = Flask(__name__)@app.route("/index",methods=["GET"])def index():# # 1. 使用元组,返回自定义的响应信息# # 响应体 状态码 响应头# return "index page" , 400 , [("Itcast","python"),("City","shenzhen")]# return "index page" , 400 , {"Itcast":"python1","City1":"sz1"}# return 里面的状态码可以是自定义的状态码666return "index page", 666, {"Itcast": "python1", "City1": "sz1"}if __name__ == '__main__':app.run(debug=True)

2. 使用make_response 来构造想要信息

from flask import Flask,request,abort,Response,make_responseapp = Flask(__name__)@app.route("/index",methods=["GET"])def index():# # 1. 使用元组,返回自定义的响应信息# # 响应体 状态码 响应头# return "index page" , 400 , [("Itcast","python"),("City","shenzhen")]# return "index page" , 400 , {"Itcast":"python1","City1":"sz1"}# return 里面的状态码可以是自定义的状态码666# return "index page", 666, {"Itcast": "python1", "City1": "sz1"}# return "index page", "666 itcast status", {"Itcast": "python1", "City1": "sz1"}# 2. 使用make_response 来构造想要信息resp = make_response("index page 2")# 设置状态吗resp.status = "999 itcast"# 设置响应头resp.headers["city"] = "sz"return respif __name__ == '__main__':app.run(debug=True)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。