zoukankan      html  css  js  c++  java
  • 特殊装饰器

    before_request、after_request
    from flask import Flask,render_template,redirect
    app = Flask(__name__)
    
    """
    before_reuqest = [xxxxxxxxxx1,xxxxxxxxxx2]
    """
    @app.before_request
    def xxxxxxxxxx1():
        print('前1')
    
    @app.before_request
    def xxxxxxxxxx2():
        print('前2')
    """
    after_request = [oooooooo1,oooooooo2]
    [oooooooo2,oooooooo1,] reversed(after_request)
    """
    @app.after_request
    def oooooooo1(response):
        print('后1')
        return response
    
    @app.after_request
    def oooooooo2(response):
        print('后2')
        return response
    
    
    
    @app.route('/x1',methods=['GET','POST'])
    def x1():
        print('视图函数x1')
        return "视图函数x1"
    
    @app.route('/x2',methods=['GET','POST'])
    def x2():
        print('视图函数x2')
        return "视图函数x2"
    
    if __name__ == '__main__':
        app.__call__
        app.run()
    before_request返回
    from flask import Flask,render_template,redirect
    app = Flask(__name__)
    
    @app.before_request
    def xxxxxxxxxx1():
        print('前1')
        return "不要再来烦我了"
    
    @app.before_request
    def xxxxxxxxxx2():
        print('前2')
    
    @app.after_request
    def oooooooo1(response):
        print('后1')
        return response
    
    @app.after_request
    def oooooooo2(response):
        print('后2')
        return response
    
    
    
    @app.route('/x1',methods=['GET','POST'])
    def x1():
        print('视图函数x1')
        return "视图函数x1"
    
    @app.route('/x2',methods=['GET','POST'])
    def x2():
        print('视图函数x2')
        return "视图函数x2"
    
    if __name__ == '__main__':
        app.__call__
        app.run()
    before_request实现用户登录
    from flask import Flask,render_template,redirect,request,session
    app = Flask(__name__)
    app.secret_key = 'asdfasdfasdf'
    @app.before_request
    def check_login():
        if request.path == '/login':
            return None
        user = session.get('user_info')
        if not user:
            return redirect('/login')
    
    @app.route('/login',methods=['GET','POST'])
    def login():
        return "视图函数x1"
    
    @app.route('/index',methods=['GET','POST'])
    def index():
        print('视图函数x2')
        return "视图函数x2"
    
    if __name__ == '__main__':
        app.run()
    errorhandler() 报错返回友好界面
    @app.errorhandler(404)
    def error404(args):
        print(args)
        return "您访问的页面不存在或者走丢了,,,,,,%s" % (args)
    天道酬勤 循序渐进 技压群雄
  • 相关阅读:
    jenkins+tomcat+python+pytest的web自动化化部署
    windows的jenkins+tomcat工作目录配置(这个要安装前就提前确定好,这种方法会导致整个jenkins重置)
    pytest xunit2 in pytest6.0
    Jenkins基本配置一
    React生命周期函数的使用场景
    React中的生命周期函数(老版本V16.0之前)
    React中ref的使用
    React中setState注意事项
    React之虚拟DOM中的Diff算法
    React之深入了解虚拟DOM
  • 原文地址:https://www.cnblogs.com/wuyuan2011woaini/p/14862462.html
Copyright © 2011-2022 走看看