【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
  请每一次请求之后都会调用,会接受一个参数,参数是服务器出现的错误信息

 

posted @ 2020-09-23 17:39  PythonNew_Mr.Wang  Views(164)  Comments(0Edit  收藏  举报