因此,在创建信号时,我们会生成一个signals.py
文件,如下所示:
from django.dispatch import Signal
some_signal = Signal(providing_args=["arg_1","arg_2",...,"arg_n"])
#...
现在我的问题是,如果你要提供的论点并不总是一样的话怎么办? 如何以这种灵活性创建信号?
答案 0 :(得分:3)
所有信号都是django.dispatch.Signal实例。 offering_args是信号将提供给侦听器的参数名称列表。 这纯粹是文档化的,因为没有任何东西可以检查信号是否真正为其听众提供了这些参数。
如果您查看send
方法的签名:
Signal.send(发件人,** kwargs)
您会注意到它只需要一个参数和您想要的多个关键字参数,因此您可以向信号监听器发送任意数量的内容