flask g对象,列举flask默认的五种请求钩子
指尖生活
请求钩子通过decorator的方式实现,flask支持四种请求钩子@app.before_first_request程序在第一个请求之前执行。
@app.before_request在每次程序请求前执行。
@app.after_request在程序运行后执行,前提是程序没有错误。
@app.teardown_request程序运行后执行,不管是否报错。
函数名可以随便命名。
从烧瓶导入烧瓶,请求
app=Flask(__name__)
@app.route(/index )
定义索引():
打印(“执行索引”)
返回“dj”
@app.before_first_request
定义handle_before_first_request():
在程序的第一个请求之前执行
打印(“在_first_request执行之前”)
@app.before_request
定义handle_before_request():
在每个程序请求之前执行
打印(“执行_request之前”)
@app.after_request
定义请求后句柄(响应):
程序请求结束执行,前提是程序中没有异常
打印(“执行请求后”)
返回响应
@app.teardown_request
def handle_teardown_request(响应):
每个请求(在视图函数处理之后)都被执行,不管视图函数是否异常。
在非调试模式下工作时,debug=False
打印(“执行handle_teardown_request”)
返回响应
if __name__==__main__ :
第一次执行app.run()的结果。
第二次执行的结果
上下文g对象方法
从烧瓶进口烧瓶,请求,克
用于存储临时变量,参数可以在一个请求中在多个视图函数之间传递。
G.变量名=值
从烧瓶进口烧瓶,请求,克
app=Flask(__name__)
@app.route(/index )
定义索引():
g.username=张三
return set_dj()
def set_dj():
name=g .用户名
返回名称
if __name__==__main__ :
app.run(调试=真)
可以在一次请求的多个视图函数之间传递参数。
flask_script脚本的使用使用命令行来启动脚本。
您需要首先安装flask_script。
Pipflash _脚本导入
从flask_script导入管理器
Manager=Manager(app)创建app的应用对象,将所有业务接管给manager。
从烧瓶进口烧瓶
from flash _ script import manager # startup命令的管理类
app=Flask(__name__)
#创建管理器类的管理对象
#创建当前flask应用的管理对象,通过创建的对象接管应用的操作。
经理=经理(应用程序)
@app.route(/index )
定义索引():
返回“索引页”
if __name__==__main__ :
# app.run(debug=True)
#由脚本开始
Manager.run()以便您可以在启动时使用manager.run()来启动。
python 3 10 _ flask _ script . py runserver
请联系作者,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。