在手机客户端和网络服务器互动的全过程中,一些准备工作或红包外挂工作中必须解决 ,例如:

  • 在请求刚开始时,创建连接数据库;

  • 在请求刚开始时,依据要求开展管理权限校检;

  • 在请求完毕时 ,特定数据信息的互动文件格式;

为了更好地让每一个视图涵数防止撰写反复作用的编码,Flask出示了通用性设定的作用,即请求钩子。

请求钩子是根据装饰器的方式完成 ,Flask适用以下四种请求钩子:

  • before_first_request

    • 在解决第一个请求前执行[新项目复位时的钩子]

  • before_request

    • 在每一次请求前执行

    • 假如在某装饰的涵数中回到了一个回应,视图涵数将已不被启用

  • after_request

    • 要是没有抛出去不正确,在每一次请求后执行

    • 接纳一个主要参数:视图涵数做出的回应

    • 在这里涵数中能够对响应值在回到以前做最后一步改动解决

    • 必须将主要参数中的回应在此参数中开展回到

  • teardown_request:

    • 在每一次请求后执行

    • 接纳一个主要参数:错误报告 ,如果有有关不正确抛出去

    • 必须设定flask的配备DEBUG=False ,teardown_request才会接纳到出现异常目标 。

from flask import Flask,make_response app = Flask(__name__) @app.before_first_request def first_request(): print("1. 新项目起动之后,初次被请求时,会全自动执行[新项目全局性复位工作中]") @app.before_request def before_request(): print("2. 每一次手机客户端请求时 ,都是会全自动执行, 常见于纪录浏览系统日志,开展管理权限分辨,身份核查 ,浏览过流保护...") @app.after_request def after_request(response): #来源于视图的返回值response print("4. 每一次视图执行之后,会全自动执行") # after_request执行之后,务必要回到結果给手机客户端!! return response @app.teardown_request def teardown_request(exc): print("5. after_request进行之后 ,如果有产生出现异常,在关掉DEBUG方式的状况下能够接纳出现异常目标,开展出现异常的纪录 ,出现异常通告") print(exc) @app.route("/") def set_session(): print("3. 视图执行了.......") 1/0 #为了更好地检测teardown_request,出错 return "ok" if __name__ == '__main__': app.run(debug=False)

 

文章来源于网络,如有侵权请联系站长QQ61910465删除
本文版权归趣营销www.SEOgUrublog.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系QQ卍61910465