Python中的自定义信号

Python中的自定义信号,python,django,signals,Python,Django,Signals,我读过关于自己发出信号的Django文档,但对我来说很难理解。你能给我一个你自己发信号的例子,并给出一些细节吗? 提前感谢您可以通过定义 from django.dispatch import Signal content_object_state_change = Signal(providing_args=["content_object", "created"]) 然后您可以按如下方式发送: content_object_state_change.send( sender=s

我读过关于自己发出信号的Django文档,但对我来说很难理解。你能给我一个你自己发信号的例子,并给出一些细节吗?
提前感谢

您可以通过定义

from django.dispatch import Signal


content_object_state_change = Signal(providing_args=["content_object", "created"])
然后您可以按如下方式发送:

content_object_state_change.send(
    sender=sender or obj.__class__, content_object=obj, created=True
)
并按如下方式接收。genrally此代码可以转到
app.ready.py
函数,该函数在应用程序启动时获取注册表:

content_object_state_change.connect(content_object_state_change_receiver)

content\u object\u state\u change\u receiver
是一个您想要实现的逻辑函数。

谢谢,除非有exmaple,否则我无法理解。你能帮我理解Django文档中所述的比萨饼示例吗?当然,
pizza\u done
是自定义信号,首先创建用于Django应用程序,然后你必须通过
send\u pizza
函数在URL上发送,然后你有注册函数接收它。您可以通过我前面提到的方法或使用decorator
@receiver
来实现