博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flask—信号(blinker)
阅读量:6903 次
发布时间:2019-06-27

本文共 1412 字,大约阅读时间需要 4 分钟。

Flask框架中的信号基于blinker,主要是让开发者在flask请求过程中定制一些用户行为。

安装blinkerpip3 install blinker

1.内置信号

request_started = _signals.signal('request-started')                # 请求到来前执行request_finished = _signals.signal('request-finished')              # 请求结束后执行 before_render_template = _signals.signal('before-render-template')  # 模板渲染前执行template_rendered = _signals.signal('template-rendered')            # 模板渲染后执行 got_request_exception = _signals.signal('got-request-exception')    # 请求执行出现异常时执行 request_tearing_down = _signals.signal('request-tearing-down')      # 请求执行完毕后自动执行(无论成功与否)appcontext_tearing_down = _signals.signal('appcontext-tearing-down')# 请求上下文执行完毕后自动执行(无论成功与否) appcontext_pushed = _signals.signal('appcontext-pushed')            # 请求上下文push时执行appcontext_popped = _signals.signal('appcontext-popped')            # 请求上下文pop时执行message_flashed = _signals.signal('message-flashed')                # 调用flask在其中添加数据时,自动触发

2.自定义信号

#!/usr/bin/env python# -*- coding:utf-8 -*-from flask import Flask, current_app, flash, render_templatefrom flask.signals import _signals app = Flask(import_name=__name__)  # 自定义信号xxxxx = _signals.signal('xxxxx')  def func(sender, *args, **kwargs):    print(sender) # 自定义信号中注册函数xxxxx.connect(func)  @app.route("/x")def index():    # 触发信号    xxxxx.send('123123', k1='v1')    return 'Index'  if __name__ == '__main__':    app.run()

  

  

转载于:https://www.cnblogs.com/shaojiafeng/p/8260354.html

你可能感兴趣的文章
一次linux启动故障记录
查看>>
linux 3.10内核 xfs的一次io异常导致的hung crash
查看>>
Castle ActiveRecord学习笔记(转)
查看>>
change textblock background color when text equal to referenceValue
查看>>
springboot+mybatis环境的坑和sql语句简化技巧
查看>>
如何用oracle从身份证信息中提取出生日期?
查看>>
Keil C编译器的变量存储分配
查看>>
非常不错的js 屏蔽类加验证类
查看>>
Innodb间隙锁,细节讲解(转)
查看>>
Apache安装
查看>>
C语言练习题库----数组
查看>>
算法的时间复杂度详解
查看>>
制作3D旋转视频展示区
查看>>
Spring.Net初认识——竹子整理
查看>>
win7 下 vmware 虚拟机开后 w字母键失效不能用 解决方案:
查看>>
[网络流24题-8]汽车加油行驶问题
查看>>
Vim使用技巧(2) -- 插入模式技巧 【持续更新】
查看>>
Spring MVC+Fastjson之时间类型序列化
查看>>
【ospf-路由过滤】
查看>>
进阶: 案例八: Drag and Drop(动态)
查看>>