| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> flask状态保持异常处理请求钩子 -> 正文阅读 |
|
[Python知识库]flask状态保持异常处理请求钩子 |
一、状态保持状态保持,这里我们使用两种方法 方式来完成。 cookie、session 1、HTTP协议无状态, 为了解决这个无状态,引入了 状态保持。 状态保持,就是通过工具来让 请求之间可以实现某种联系--资源共享 2、cookie状态保持
resp.set_cookie()
username = request.cookies.get("username") # 状态保持---cookie (2).cookie的获取: 获取需要从request对象进行获取 (3).cookie设置与获取示例:
3、session状态保持cookie状态存储到 客户端的 不安全、cookie存储数据量少 我们希望可以存储到服务器端,这个时候可以使用session机制来完成。 不同的浏览器对应 不同的session 每一个session都有一个唯一的标识 SID
存储session之前,需要先设置 秘钥 app.config["SECRET_KEY"] = "1234567890abcdefg" 我们存入session后,session默认会自动在response响应中 写入一个cookie,key就是session value值是 session的ID session["username"] = username
username = session.get("username") 4、异常处理
abort 可以中断,并且抛出异常 abort抛出的异常是 HTTP状态码 才可以 abort(500) 对于HTTP状态码的 异常返回,我们可以自定义来完成
@app.errorhandler(500) def handler_500_error(error): ? return "<h1>服务器错误,请联系管理员<h1>" ? ? @app.errorhandler(404) def handler_404_error(error): ? return "<h1>我找不到回家的路<h1>" ? 自定义了 500响应码、404响应码的 异常返回信息 如果是500错误,则就返回 <h1>服务器错误,请联系管理员<h1> 如果是404错误,则就返回<h1>我找不到回家的路<h1> 5、钩子函数(1).请求钩子介绍: flask的请求钩子类似于Django的中间件, flask的请求钩子分为四种, 如下所示: ? ?- before_first_request: 请求处理前执行, 只执行一次 ? ?- before_request: 请求处理前执行, 每次请求处理前都会执行 ? ?- after_request: 请求处理后执行, 但其是在请求无异常的基础上执行的, 该钩子接受一个参数为响应对象, 并且钩子函数最后需要将参数传递来的响应return返回 ? ?- teardown_request: 请求处理后执行, 其无论请求是否存在异常都会执行, 该钩子也接受一个参数为异常信息
before_first_request
before_request
after_request
teardown_request 如果要起效果,必须是非调试模式 # 语法示例:
# 第一次请求处理前执行, 后续请求到来不执行, 只执行一次 # 每个请求到来前都执行一次 # 请求处理后无异常执行该钩子 # 请求处理后, 无论存在异常与否, 都会执行该请求钩子
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 22:35:30- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |