在正常执行的代码前中后,强行插入执行一段你想要实现的功能的代码,这种函数就叫做钩子函数。钩子函数就是等同于高速公路上的收费站,进高速之前给你一个卡,并检查你是否超重。离开之前收你,也可以拦住你安检一下。
一、基础概念:
request: Flask的请求上下文,包含请求变量如:method、args、form、values、endpoint、headers、remote_addr都是比较常用的。
session:Flask的请求上下文,用于存放用户的会话信息。
current_app:Flask的应用上下文,返回当前app的方法和属性,可以勉强理解为类全局变量。
二、七种钩子
第一个钩子:@app.before_first_request
只在第一次请求之前执行,也就是启动项目,不会执行,只会在第一次有人发起请求时,才会触发这个钩子中的代码。
全局场景:可以带动一个异步执行的函数,进行一些健康指标的检查,如果发现有异常,则截断后续的请求,将整个Flask应用停止。