• flask 的信号


    flask的信号

    内置的信号
    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在其中添加数据时,自动触发
    

    flask信号的使用

    """
    想要使用flask的信号得先安装插件
    pip install blinker
    
    """
    
    from flask import Flask, signals # 信号
    
    app = Flask(__name__)
    
    # 触发信号要执行的函数
    def sig(*args, **kwargs):
        print('触发这个信号', args, kwargs)
    
    
    # 给你要连接的函数绑定信号的类型(这里就举一个例子)
    signals.request_started.connect(sig)
    
    
    @app.route('/')
    def index():
        return '123'
    
    if __name__ == '__main__':
        app.run()
    
    
    

    自定义信号

    from flask import Flask
    from flask.signals import _signals
    
    app = Flask(__name__)
    
    # 自定义信号
    xxxxx = _signals.signal('xxxxx')
    
    
    # 接收参数的时候,就算send方法不传,也要接收一个参数,后面按照关键字接收参数
    def func(arg, on1):
        print("123123", arg, on1)
    
    
    # 自定义信号中注册函数
    xxxxx.connect(func)
    
    
    @app.route("/x")
    def index():
        # 触发信号 #传参的时候,第一个必须是位置参数,后面的参数必须是关键字参数
        xxxxx.send("sb", on1="sb2")
        return 'Index'
    
    
    if __name__ == '__main__':
    
        app.run()
    
  • 相关阅读:
    052-PHP输出多个参数
    045-利用反射机制,简单的实现PHP插件模式
    044-PHP获得多个类对应的反射信息
    043-PHP简单获得一个类对应的反射信息
    042-PHP使用闭包函数递归无限级分类
    040-PHP使用闭包函数来进行父实例的变量自增,正确示例
    039-PHP使用闭包函数来进行父实例的变量自增,错误示例
    038-PHP向返回的闭包函数实例中,传递外部变量参数
    python——基本数据类型1——简介
    java知识整理
  • 原文地址:https://www.cnblogs.com/yafeng666/p/12535786.html
Copyright © 2020-2023  润新知