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程序设计入门(3)数组的使用
Jun 16 Python
python控制台中实现进度条功能
Nov 10 Python
Python3生成手写体数字方法
Jan 30 Python
python 读文件,然后转化为矩阵的实例
Apr 23 Python
python3+PyQt5使用数据库表视图
Apr 24 Python
Python实现读取txt文件并转换为excel的方法示例
May 17 Python
Python系统监控模块psutil功能与经典用法分析
May 24 Python
判断python字典中key是否存在的两种方法
Aug 10 Python
python for和else语句趣谈
Jul 02 Python
Python类中方法getitem和getattr详解
Aug 30 Python
Python ORM编程基础示例
Feb 02 Python
Python数据分析入门之数据读取与存储
May 13 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脚本加密专家php解密算法
2020/09/13 PHP
php中的ini配置原理详解
2014/10/14 PHP
JavaScript 学习技巧
2010/02/17 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
2012/05/23 Javascript
jQuery处理xml格式的返回数据(实例解析)
2013/11/28 Javascript
使用JSON.parse将json字符串转换成json对象的时候会出错
2014/09/04 Javascript
JS实现页面超时后自动跳转到登陆页面
2015/01/19 Javascript
jQuery ajax提交Form表单实例(附demo源码)
2016/04/06 Javascript
浅析Bootstrap缩略图组件与警示框组件
2016/04/29 Javascript
jstree的简单实例
2016/12/01 Javascript
JavaScript自定义分页样式
2017/01/17 Javascript
jQuery.cookie.js实现记录最近浏览过的商品功能示例
2017/01/23 Javascript
Nuxt.js实战详解
2018/01/18 Javascript
vue+jquery+lodash实现滑动时顶部悬浮固定效果
2018/04/28 jQuery
JS中数据结构与算法---排序算法(Sort Algorithm)实例详解
2019/06/17 Javascript
js获取浏览器地址(获取第1个斜杠后的内容)
2019/09/03 Javascript
vue 使用async写数字动态加载效果案例
2020/07/18 Javascript
vue 将多个过滤器封装到一个文件中的代码详解
2020/09/05 Javascript
python实现读取命令行参数的方法
2015/05/22 Python
Python 查看文件的读写权限方法
2018/01/23 Python
Python利用正则表达式实现计算器算法思路解析
2018/04/25 Python
python绘制多个曲线的折线图
2020/03/23 Python
tensorboard显示空白的解决
2020/02/15 Python
如何在 Matplotlib 中更改绘图背景的实现
2020/11/26 Python
python中time tzset()函数实例用法
2021/02/18 Python
python定义具名元组实例操作
2021/02/28 Python
某公司部分笔试题
2013/11/05 面试题
家居设计专业个人自荐信范文
2013/11/26 职场文书
今冬明春火灾防控工作方案
2014/05/29 职场文书
优秀实习生主要事迹
2014/05/29 职场文书
干部作风建设工作总结
2014/10/29 职场文书
2015年信息宣传工作总结
2015/05/26 职场文书
个人收入证明范本
2015/06/12 职场文书
怎样写观后感
2015/06/19 职场文书
2016党员党章学习心得体会
2016/01/14 职场文书
python中validators库的使用方法详解
2022/09/23 Python