我正在尝试在Django CMS中的页面发布事件期间挂钩事件
答案 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