Django cms 清除插件级缓存



我有一个自定义插件,它基本上是渲染一个表单,我把它发布在一个页面上,后来我从中删除了它。我面临的问题是当我看到已发布的页面时,插件部分直到被渲染,当我去修改它时,插件不存在。

我认为这是 django cms 的插件级缓存的问题,我无法刷新。我已经使用了cache = FalseCMS_PLUGIN_CACHECMS_PLACEHOLDER_CACHE但到目前为止没有任何帮助。

在编程上,您可以通过执行以下操作使插件所在的占位符的缓存无效;

from cms.cache.placeholder import clear_placeholder_cache
clear_placeholder_cache(my_placeholder, 'en', 1)

在你传递插件附加到的占位符的实例,语言代码和站点ID。此示例在 CMS 测试套件中使用。

Placeholder模型上还有一个clear_cache方法;

def clear_cache(self, language, site_id=None):
    if not site_id and self.page:
        site_id = self.page.node.site_id
    clear_placeholder_cache(self, language, get_site_id(site_id))

此方法由占位符上的mark_as_dirty()调用。

最新更新