我有一个自定义插件,它基本上是在渲染表单,我将其发布在页面上,以后我将其删除。我面临的问题是 当我看到已发布的页面时,插件部分将一直呈现,而当我对其进行修改时,则不存在插件。
我认为这是django cms的插件级别缓存的问题,无法刷新。
我使用过cache = False
,CMS_PLUGIN_CACHE
,CMS_PLACEHOLDER_CACHE
,但到目前为止没有帮助。
答案 0 :(得分:0)
通过编程,您可以通过执行类似的操作来使插件所在的占位符的缓存无效;
from cms.cache.placeholder import clear_placeholder_cache
clear_placeholder_cache(my_placeholder, 'en', 1)
在传递插件附带的占位符的实例的地方,语言代码和站点ID。此示例在CMS test suite中使用。
在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()
调用。