首先先我们来看看Flask里面的信号是什么样的,我们可以找到一个叫signals.py的文件

  

  这里面是所有定义了的后面请求流程中会用到的信号

二、哪些地方用到了信号

  

  1、请求app上下文时执行的,在执行ctx.push()时,执行了RequestContext类里的push方法

    

    - 接着app_ctx.push(),执行的是AppContext类里的push,这里用到了appcontext_pushed.send(self.app)这一信号:

    

  2、full_dispatch_request()里用到了request_started.send(self)这一信号,在请求到来时执行:

    

  3、我们在进行模板渲染时,render_template里面返回的_render()里面使用了before_render_template和template_rendered两个信号:

        

  4、接着,在finalize_request(rv)里使用了request_finished.send(self, response=response)这一信号,在请求结束后执行:

    

  5、在handle_exception(e)里用到了got_request_exception.send(self, exception=e)这一信号,在请求出现异常时执行:

      

  6、在最后的ctx.auto_pop(error)里执行RequestContext的pop方法,

    

    这里面又调用了self.app.do_teardown_request(exc),在这里使用了request_tearing_down.send(self, exc=exc)这一信号,请求执行完毕后自动执行(无论成功与否):

    

  7、同样在RequestContext的pop方法里,这里执行了app_ctx.pop(exc),调用了AppContext里的pop方法:

    

    这里使用了appcontext_popped.send(self.app)这一信号,在请求上下文执行完毕后自动执行的(无论成功与否):

    

最新文章

  1. Android View的绘制流程
  2. WC总结
  3. 嵌入式调试器原理和各类调试器集锦(JLINK、STLINK、CCDEBUG)
  4. 【wikioi】1026 逃跑的拉尔夫
  5. Coder-Strike 2014 - Finals (online edition, Div. 2) C题
  6. oracle顺序控制语句goto、null和分页过程中输入输出存储、java程序的调用过程
  7. 《使用wxWidgets进行跨平台程序开发》chap02——一个简单的应用程序
  8. Oracle数据库基础知识_字符串操作相关2
  9. Test execution order
  10. Windows 7 taskbar and startmenu pin
  11. SilkTest Q&A 9
  12. KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架之koahub-loader
  13. Android之应用市场排行榜、上架、首发
  14. swift 4 生成随机数的内置方法汇总
  15. Leetcode 树(102, 637)
  16. OpenCV3计算机视觉Python语言实现笔记(一)
  17. 物理服务器Linux下软RAID和UUID方式挂载方法--Megacli64
  18. Linux下Redis安装使用教程
  19. ubuntu 16.04下使用 python pip的安装问题。
  20. vue脚手架 构建豆瓣App 第一天

热门文章

  1. 14.oauth2与open id connect 对比
  2. CSS3 制作魔方 - 形成魔方
  3. phpstrom安装bootstrap3插件
  4. Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined)【A,B,C,D】
  5. C# interface 的特性 无法被implement class继承
  6. 洛谷P1291 百事世界杯之旅
  7. [Xcode 实际操作]八、网络与多线程-(1)使用Reachability类库检测网络的连接状态
  8. Quantitative proteomic analysis of small and large extracellular vesicles (EVs) reveals enrichment of adhesion proteins in small EVs (文献分享一组-柯酩)
  9. 17..userinfo.txt 文件中存放以下结构:
  10. Mysql字符串截取总结及项目实际运用:left()、right()、substring()、substring_index()