Django如何自定义信号
自定义信号
所有信号都是 django.dispatch.Signal 的实例。 providing_args是一个列表,由信号将提供给监听者的参数名称组成。 理论上是这样,但是实际上并没有任何检查来保证向监听者提供了这些参数。
举个例子:
# 自定义信号 from django.dispatch import Signal bath_done = Signal(providing_args=['amount', 'temperature']) 这里定义了一个洗澡水烧好了的信号,它接受两个参数:amount表示水量,temperature表示温度。
相关推荐:《Python视频教程》
注册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中的模型信号有哪些
auth模块简介auth模块是对登录认证方法的一种封装,之前我们获取用户输入的用户名及密码后需要自己从user表里查询有没有用户名和密码符合的对象,而有了auth模块之后就可以很轻松的去验证用户的登录信息是否 ...