无论如何将事件挂钩到django-cms页面发布事件

时间:2015-02-05 04:35:23

标签: django django-cms

我正在尝试在Django CMS中的页面发布事件期间挂钩事件

2 个答案:

答案 0 :(得分:2)

将此添加到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

Sourse:https://github.com/divio/django-cms/blob/develop/cms/signals/init.py

答案 1 :(得分:0)

来自django-cms信号documenation

  

此代码应该在哪里生效?

     

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

     

实际上,信号处理程序通常以信号定义   与其相关的应用程序的子模块。信号接收器是   在应用程序配置的ready()方法中连接   类。如果您正在使用receiver()装饰器,只需导入   在ready()中发信号子模块。

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