代码之家  ›  专栏  ›  技术社区  ›  Oli

除工作人员外所有人的缓存[关闭]

  •  4
  • Oli  · 技术社区  · 16 年前

    我有一个django网站,我想在每个非管理员页面的顶部为员工设置一个“管理员栏”。它将包含有用的东西,如页面编辑工具等。

    问题出在我使用 @cache_page 很多页面上的装饰。如果一个普通用户点击了一个页面,那么缓存的版本就没有管理栏了(即使对于管理用户也是如此),如果一个管理员首先点击了页面,那么普通用户就会看到管理栏。

    能够 单调地逐步通过模板,添加区域缓存块,但有很多模板,寿命太短。

    理想情况下,会有一种方法告诉缓存忽略来自管理用户的缓存获取/设置请求…但我不知道如何最好地实现它。

    你将如何解决这个问题?

    1 回复  |  直到 16 年前
        1
  •  0
  •   Oli    16 年前

    事实上我没有告诉你全部真相。唯一登录的人是工作人员。其他人都是匿名的。

    挖掘 cache middleware source 什么 @cache_page 使用)我发现 CACHE_MIDDLEWARE_ANONYMOUS_ONLY 设置!

    我相信这能帮我解决问题。