【问题标题】:Django cms clear plugin level cacheDjango cms 清除插件级缓存
【发布时间】:2019-01-15 08:02:07
【问题描述】:

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

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

【问题讨论】:

    标签: django django-cms


    【解决方案1】:

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

    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() 调用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-16
      • 2016-11-02
      • 2017-07-05
      • 2019-07-06
      • 1970-01-01
      • 2013-07-29
      • 2013-07-04
      相关资源
      最近更新 更多