Python Django自定义信号

Python Django自定义信号,python,django,arguments,signals,Python,Django,Arguments,Signals,因此,在创建信号时,我们创建一个signals.py文件,该文件如下所示: from django.dispatch import Signal some_signal = Signal(providing_args=["arg_1","arg_2",...,"arg_n"]) #... 现在我的问题是,如果你要提供的论点并不总是相同的,怎么办如何创建具有这种灵活性的信号?如果 所有信号都是django.dispatch.Signal实例。providing_args是信号将提供给侦听器的参

因此,在创建信号时,我们创建一个
signals.py
文件,该文件如下所示:

from django.dispatch import Signal

some_signal = Signal(providing_args=["arg_1","arg_2",...,"arg_n"])
#...
现在我的问题是,如果你要提供的论点并不总是相同的,怎么办如何创建具有这种灵活性的信号?

如果

所有信号都是django.dispatch.Signal实例。providing_args是信号将提供给侦听器的参数名称的列表但是,这纯粹是文档记录,因为没有任何东西可以检查信号是否确实向其侦听器提供了这些参数。

如果您查看
send
方法的签名:

信号发送(发送方,**kwargs)

您会注意到,它只需要一个参数和任意多个关键字参数,因此您可以向信号侦听器发送任意多的内容

所有信号都是django.dispatch.Signal实例。providing_args是信号将提供给侦听器的参数名称的列表但是,这纯粹是文档记录,因为没有任何东西可以检查信号是否确实向其侦听器提供了这些参数。

如果您查看
send
方法的签名:

信号发送(发送方,**kwargs)


您会注意到,它只需要一个参数和任意多个关键字参数,因此您可以向您的信号侦听器发送任意多的内容

我简直不敢相信,当我浏览文档时,竟然遗漏了这一点。好的,谢谢!我真不敢相信,当我翻阅文档时,竟然错过了这一点。好的,谢谢!这个代码应该放在哪里?这个代码应该放在哪里?