
Web框架——Flask系列之abort函数与自定义异常处理(十三)
发布日期:2021-05-08 02:34:22
浏览次数:14
分类:精选文章
本文共 3074 字,大约阅读时间需要 10 分钟。
一、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 里面的状态码可以是自定义的状态码666 return "index page", 666, { "Itcast": "python1", "City1": "sz1"}if __name__ == '__main__': app.run(debug=True)
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)
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年03月20日 10时53分45秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
计算机的运算方法
2019-03-06
谈谈MySQL的基数统计
2019-03-06
大型面试现场:一条update sql执行都经历什么?
2019-03-06
ajax 处理请求回来的数据
2019-03-06
vue 不常见操作
2019-03-06
jQuery的事件绑定与触发 - 学习笔记
2019-03-06
Python处理接口测试的签名
2019-03-06
测试流程规范--测试报告模板
2019-03-06
测试流程规范--提测规范(钉钉、邮件)
2019-03-06
Linux上TCP的几个内核参数调优
2019-03-06
解Bug之路-dubbo流量上线时的非平滑问题
2019-03-06
记一次讲故事机器人的开发-我有故事,让机器人来读
2019-03-06
从Linux源码看Socket(TCP)的listen及连接队列
2019-03-06
高德网络定位算法的演进
2019-03-06
高德算法工程一体化实践和思考
2019-03-06
为亿级用户的美好出行而战!高德地图首届算法大赛落幕 95后北邮在读博士带队夺冠
2019-03-06
重温网络编程——常识(三)
2019-03-06
判断一个数是否是2的幂
2019-03-06
js 闭包(新)
2019-03-06
vscode 编辑python 如何格式化
2019-03-06