【FLASK】钩子函数的使用

# 不加返回值

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



## 输出

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

 

相关文章

Jinja2:是Python的Web项目中被广泛应用的模板引擎,是由Pyt...
监听QQ消息并不需要我们写代码,因为市面上已经有很多开源QQ...
【Flask框架】—— 视图和URL总结
python+web+flask轻量级框架的实战小项目。登录功能,后续功...
有了这个就可以配置可信IP,关键是不需要企业认证,个人信息...