Django如何自定义信号

480次阅读
没有评论

Django如何自定义信号

自定义信号

所有信号都是 django.dispatch.Signal 的实例。 providing_args是一个列表,由信号将提供给监听者的参数名称组成。 理论上是这样,但是实际上并没有任何检查来保证向监听者提供了这些参数。

举个例子:

# 自定义信号
from django.dispatch import Signal
bath_done = Signal(providing_args=['amount', 'temperature'])
这里定义了一个洗澡水烧好了的信号,它接受两个参数:amount表示水量,temperature表示温度。

注册receiver

from django.dispatch import receiver
@receiver(bath_done)
def my_action(sender, **kwargs):
    print(sender)
    print(kwargs)
    print('脱衣服泡个澡吧!')

触发信号

斯嘉丽烧好了一浴缸40度的洗澡水,杜兰特要开喝了。
bath_done.send(sender='斯嘉丽', amount='一浴缸', temperature='40°')

相关推荐:

Django中的模型信号有哪些

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2019-11-12发表,共计590字。
新手QQ群:570568346,欢迎进群讨论 Python51学习
评论(没有评论)