zoukankan      html  css  js  c++  java
  • flask中间件请求流程

    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'

    请求走的时候,获取这些信息

  • 相关阅读:
    内置函数
    打印进度条
    生成器表达式
    Linux(CentOS7)安装Tomcat (Tomcat+JDK)
    IDEA左侧文件目录不见了,帮你找回来!
    前端插入date类型的数据到数据库
    Java Web制作登录 验证码
    Java使用数据库连接池连接Oracle数据库
    Java Web项目实现写日志功能
    IDEA编写JavaWeb出现乱码,成功解决!
  • 原文地址:https://www.cnblogs.com/tangda/p/11203613.html
Copyright © 2011-2022 走看看