Flask 请求扩展

Posted baohanblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask 请求扩展相关的知识,希望对你有一定的参考价值。

Flask 请求扩展

from flask import Flask,request
app = Flask(__name__)

before_request

# 用before_request装饰的函数是执行响应函数之前执行,
# 如果有多个before_request他会自上而下按照顺序执行
# 如果before_request有返回值,那后面的before_request都不会执行,且响应函数也不会执行
# 其有没有返回值都不会影响after_request的执行
@app.before_request
def before1(*args,**kwargs):
    print("参数",args,kwargs)
    print(我是before1)

 

after_request

# after_request 是响应函数执行之后触发执行的,
# after_request 必须接收一个参数,参数为response对象,而且必须返回
@app.after_request
def after1(response):
    print("响应后的参数",response)
    print("我是after1")
    return response

before_first_request

# 当flask项目启动后的页面请求的第一次才会执行,第二次不会执行。与浏览器无关,执行顺序是从上往下
@app.before_first_request
def first():
    print("我是Flask项目启动后的第一次")

template_global()页面渲染

@app.template_global()
def get_sb(a1,a2):
    return a1 + a2
# 所有页面渲染的时候如果页面上有sb变量他将自动调用该函数

html页面中的用法

{{sb(1,2)}}
#页面显示结果为3

template_filter()过滤器

@app.template_filter()
def db(a1, a2, a3):
    return a1 + a2 + a3

html页面

 

以上是关于Flask 请求扩展的主要内容,如果未能解决你的问题,请参考以下文章

Flask 请求扩展

Flask框架cbv的写法请求与响应请求扩展session源码分析闪现

Flask 的 请求扩展 与 中间件

Flask请求扩展和数据库连接池

Flask 的 请求扩展 与 中间件

Flask-1-06-script扩展