from flask import Flask,session,url_for,request,flash,get_flashed_messages app = Flask(__name__) app.debug = True app.secret_key='ssssssssssssssss' #请求到来之前 @app.before_request def before_request(): # print(args) # print(**kwargs) request.name = 'xxx' request.POST = 'TANGDA' session['name']='sssssssssssssss' print('来了') return 'ssssssssss' @app.before_request def before_request1(*args,**kwargs): print(args) print(**kwargs) print('来了222222222') @app.after_request def after_request(response): print('走了') print(request.name) print(request.POST) print(session['name']) print(type(response)) return response # return 1111 @app.route('/',methods=['GET','POST']) def index(): # flash('successful',category='xxxx') # url = url_for('test') return 'ok' # @app.route('/test/',methods=['GET','POST']) # def test(): # return 'test' if __name__ == '__main__': app.run()
执行结果:
来了
走了
xxx
TANGDA
sssssssssssssss
<class 'flask.wrappers.Response'>
分析流程:
当第一个before_request return返回之后接下来before_request都不走了,然后所有after都要走
并且请求来的顺序是从上到下 ,请求走的顺序是从下到上 和请求来的时候顺序相反。
这是我们可以在请求来的时候写一些方法,比如设置session值,修改request.POST='xxx'
请求走的时候,获取这些信息