Flask 中间件的原理及使用详解
Flask中间件是一种封装调用视图函数之前或之后执行的功能的方法。这是通过在Flask应用中注册中间件函数实现的。
中间件函数应遵循特定的模式:它们接收一个next函数作为参数,这个函数在中间件完成工作后应该被调用。
以下是一个简单的Flask中间件示例:
from flask import Flask
app = Flask(__name__)
# 中间件函数
def my_middleware(next_func):
def middleware(*args, **kwargs):
# 在调用视图函数之前可以添加的代码
print("Before request")
# 调用下一个函数,即视图函数
response = next_func(*args, **kwargs)
# 在调用视图函数之后可以添加的代码
print("After request")
return response
return middleware
# 注册中间件
app.wsgi_app = my_middleware(app.wsgi_app)
@app.route('/')
def index():
return "Hello, World!"
if __name__ == '__main__':
app.run()
在这个例子中,my_middleware
函数是中间件,它包装了应用的WSGI应用。当访问根路由/
时,Flask会通过中间件函数处理请求,在调用视图函数之前和之后打印消息。
评论已关闭