在django中也有类似的实现,用中间层来实现
在第一次请求之前被执行
通过装饰器@app.before_first_request
# encoding=utf-8
__author__ = "zhangyue"
from flask import Flask,session,current_app
app = Flask(__name__)
@app.route("/index")
def index():
print("index 被执行")
return "index page"
@app.before_first_request
def handle_before_first_request():
"""在第一请求处理之前先被执行"""
print("handle_before_first_request")
if __name__ == '__main__':
app.run(debug=True)
在每次请求之前先被执行
@app.before_request
在每次请求之后被执行,前提是视图函数没有出现异常
@app.after_request
在每次请求之后被执行,无论视图函数是否出现异常都被执行
@app.teardown_request
注意
@app.after_request和
@app.teardown_request
装饰的函数都必须接受response,函数都必须返回response