zoukankan      html  css  js  c++  java
  • 【FLASK】钩子函数的使用

    # 不加返回值

    from
    flask import Flask from flask import abort app = Flask(__name__) # 在第一次请求之前调用,可以在此方法内部做一些初始化操作 @app.before_first_request def before_first_request(): print("第一次请求之前调用") # 在每一次请求之前调用,这时候已经有请求了,可能在这个方法里面做请求的校验 # 如果请求的校验不成功,可以直接在此方法中进行响应,直接return之后那么就不会执行视图函数 @app.before_request def before_request1(): print("前1")
       此处如果加上 return "返回值" 就不会执行前2 跟 前 3 直接返回 后1 后2 后3 @app.before_request
    def before_request2(): print("前2") @app.before_request def before_request3(): print("前3") # 在执行完视图函数之后会调用,并且会把视图函数所生成的响应传入,可以在此方法中对响应做最后一步统一的处理 @app.after_request def after_request1(response): print("后1") # response.headers["Content-Type"] = "application/json" return response @app.after_request def after_request2(response): print("后2") # response.headers["Content-Type"] = "application/json" return response @app.after_request def after_request3(response): print("后3") # response.headers["Content-Type"] = "application/json" return response # 请每一次请求之后都会调用,会接受一个参数,参数是服务器出现的错误信息 @app.teardown_request def teardown_request(e): print("请每一次请求之后都会调用,会接受一个参数,参数是服务器出现的错误信息") @app.route('/') def index(): return 'index' if __name__ == '__main__': app.run(debug=True)



    ## 输出

      第一次请求之前调用
      "前1
      前2
      前3
      后3
      后2
      后1
      请每一次请求之后都会调用,会接受一个参数,参数是服务器出现的错误信息

  • 相关阅读:
    HTTP的POST提交的四种常见消息主体格式
    postman设置token等关联参数
    基于Appium的APP自动化测试基础--美团APP的实例
    Genymotion安装apk问题,不能部署Genymotion-ARM-Translation_v1.zip
    http://dl-ssl.google.com/android上不去解决方案
    算法中,什么是哈希值,哈希值怎么生成的,有什么用?
    理解Python中的__builtin__和__builtins__
    SQL语句中exists和in的区别
    Selenium_python自动化跨浏览器执行测试
    python assert断言函数
  • 原文地址:https://www.cnblogs.com/wanghong1994/p/13719868.html
Copyright © 2011-2022 走看看