创建信号如果你想要在自己的应用中使用信号,你可以直接使用 blinker 库。最常见的用法 是在自定义的 from blinker import Namespace
my_signals = Namespace()
现在你可以这样创建新的信号: model_saved = my_signals.signal('model-saved')
这里使用唯一的信号名,简化调试。可以用 给扩展开发者 如果你在编写一个 Flask 扩展并且你想优雅地在没有 blinker 安装时退化,你可以用 发送信号如果你想要发出信号,调用 class Model(object):
...
def save(self):
model_saved.send(self)
永远尝试选择一个合适的发送端。如果你有一个发出信号的类,把 self 作为发送 端。如果你从一个随机的函数发出信号,把 传递代理作为发送端 永远不要向信号传递 信号与 Flask 的请求上下文信号在接收时,完全支持 请求上下文 。上下文本地的变量在 基于装饰器的信号订阅你可以在 Blinker 1.1 中容易地用新的 from flask import template_rendered
@template_rendered.connect_via(app)
def when_template_rendered(sender, template, context, **extra):
print 'Template %s is rendered with %s' % (template.name, context) |
Archiver|手机版|笨鸟自学网 ( 粤ICP备20019910号 )
GMT+8, 2025-5-12 17:00 , Processed in 0.064397 second(s), 26 queries .