Flask框架信号用法实例分析


Posted in Python onJuly 24, 2018

本文实例讲述了Flask框架信号用法。分享给大家供大家参考,具体如下:

项目功能复杂,代码量越大,就越需要做业务解耦。否则在其之上做开发和维护是很痛苦的,尤其是对于团队的新人。Flask从0.6开始,通过Blinker提供了信号支持。信号就是在框架核心功能或者一些Flask扩展发生工作时所发送的通知,用于帮助你解耦应用。

Blinker的使用

安装

pip install blinker

Blinker的信号与接收方式

from blinker import signal
s = signal("test start")
def each(round):
  print("each {}".format(round))
def round_two(round):
  print("round {}".format(round))
s.connect(each)
s.connect(round_two,sender=2)  # 表示值为2的时候才会接收信号
for index in range(1,4):
  s.send(index)

打印结果:

each 1
each 2
round 2
each 3

或者简写成:

from blinker import signal
s = signal("test start")
@s.connect
def each(round)
  print("each {}".format(round))

Flask中内置信号

  • flask.template_rendered:模板渲染成功的时候发送,这个信号与模板实例template上下文的字典一起调用。
  • flask.request_started:建立请求上下文后,在请求处理开始前发送,订阅者可以用request之类的标准代理访问请求。
  • flask.request_finished:在响应发送给客户端之前发送,可以传递reponse
  • flask.got_request_exception:在请求处理中抛出异常时发送,异常本身会通过execption传递到订阅函数。
  • flask.request_tearing_down:在请求销毁时发送,它总是被调用,即使发生异常。
  • flask.appcontext_tearing_down:在应用上下文销毁时发送,它总是被调用,即使发生异常。

希望本文所述对大家基于flask框架的Python程序设计有所帮助。

Python 相关文章推荐
python中while循环语句用法简单实例
May 07 Python
巧用python和libnmapd,提取Nmap扫描结果
Aug 23 Python
python自带的http模块详解
Nov 06 Python
windows下python安装pip图文教程
May 25 Python
python实现内存监控系统
Mar 07 Python
python+ffmpeg批量去视频开头的方法
Jan 09 Python
Python增强赋值和共享引用注意事项小结
May 28 Python
python opencv 批量改变图片的尺寸大小的方法
Jun 28 Python
Pytorch 抽取vgg各层并进行定制化处理的方法
Aug 20 Python
Python 实用技巧之利用Shell通配符做字符串匹配
Aug 23 Python
Python进程Multiprocessing模块原理解析
Feb 28 Python
python实现批量移动文件
Apr 05 Python
Flask框架响应、调度方法和蓝图操作实例分析
Jul 24 #Python
Django中的Model操作表的实现
Jul 24 #Python
Python实现的tcp端口检测操作示例
Jul 24 #Python
python正则表达式之对号入座篇
Jul 24 #Python
Python 字符串与二进制串的相互转换示例
Jul 23 #Python
Python二进制串转换为通用字符串的方法
Jul 23 #Python
Python基于多线程实现ping扫描功能示例
Jul 23 #Python
You might like
用PHP和Shell写Hadoop的MapReduce程序
2014/04/15 PHP
ThinkPHP CURD方法之where方法详解
2014/06/18 PHP
php实现获取文章内容第一张图片的方法
2014/11/04 PHP
Linux中为php配置伪静态
2014/12/17 PHP
PHP iconv()函数字符编码转换的问题讲解
2019/03/22 PHP
一个XML格式数据转换为图表的例子
2010/02/09 Javascript
jQuery UI 应用不同Theme的办法
2010/09/12 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
2015/02/05 Javascript
swtich/if...else的替代语句
2015/08/16 Javascript
js图片轮播效果实现代码
2020/04/18 Javascript
javascript cookie用法基础教程(概念,设置,读取及删除)
2016/09/20 Javascript
微信小程序 地图map详解及简单实例
2017/01/10 Javascript
javascript 中的继承实例详解
2017/05/05 Javascript
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
教你5分钟学会用requirejs(必看篇)
2017/07/25 Javascript
微信小程序实现聊天对话(文本、图片)功能
2018/07/06 Javascript
JavaScript实现文件下载并重命名代码实例
2019/12/12 Javascript
如何在Vue项目中添加接口监听遮罩
2021/01/25 Vue.js
[01:22:19]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
在Python中进行自动化单元测试的教程
2015/04/15 Python
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
python 字符串转列表 list 出现\ufeff的解决方法
2017/06/22 Python
python实现requests发送/上传多个文件的示例
2018/06/04 Python
python中将zip压缩包转为gz.tar的方法
2018/10/18 Python
pandas通过loc生成新的列方法
2018/11/28 Python
python获取本机所有IP地址的方法
2018/12/26 Python
python如何实现异步调用函数执行
2019/07/08 Python
利用简洁的图片预加载组件提升html5移动页面的用户体验
2016/03/11 HTML / CSS
HTML5中使用json对象的实例代码
2018/09/10 HTML / CSS
鞋子女王塔玛拉·梅隆同名奢侈品牌:Tamara Mellon
2017/11/22 全球购物
应聘教师求职信范文
2015/03/20 职场文书
全国法制宣传日活动总结
2015/05/05 职场文书
项目备案申请报告
2015/05/15 职场文书
时尚女魔头观后感
2015/06/04 职场文书
创业计划书之奶茶店开店方案范本!
2019/08/06 职场文书
标准版个人借条怎么写?以及什么是借条?
2019/08/28 职场文书