Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否仍然可以将事件挂接到django cms页面发布事件_Django_Django Cms - Fatal编程技术网

是否仍然可以将事件挂接到django cms页面发布事件

是否仍然可以将事件挂接到django cms页面发布事件,django,django-cms,Django,Django Cms,我试图在Django CMS中的页面发布事件期间钩住一个事件,将其添加到models.py: from cms.signals import post_publish, post_unpublish post_publish.connect(self._receiver) post_unpublish.connect(self._receiver) def _receiver(self, sender, **kwargs): #logic goes here 来源:来自djan

我试图在Django CMS中的页面发布事件期间钩住一个事件,将其添加到
models.py

from cms.signals import post_publish, post_unpublish  

post_publish.connect(self._receiver)
post_unpublish.connect(self._receiver)

def _receiver(self, sender, **kwargs):
    #logic goes here

来源:来自django cms信号

这个代码应该放在哪里

严格地说,信号处理和注册码都可以使用 任何你喜欢的地方,尽管建议避免 要最小化的应用程序根模块及其模型模块 导入代码的副作用

在实践中,信号处理程序通常在信号中定义 与之相关的应用程序的子模块。信号接收器是 在应用程序配置的ready()方法中连接 班级。如果您使用的是receiver()decorator,只需导入 信号子模块内部就绪()


你可以找到一个很好的例子

你必须编写自己的信号,因为在发布页面时没有信号;然后把它钩进去。