为除员工以外的所有人缓存

时间:2010-03-30 12:13:44

标签: django django-caching

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

问题来自于我在很多页面上使用@cache_page装饰器。如果普通用户点击某个页面,则缓存版本会在没有管理栏的情况下出现(即使是管理员用户),如果管理员首先点击该页面,普通用户会看到管理栏。

可以单调遍历模板,添加区域缓存块但是有很多模板,生命总是太短。

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

你会如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

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

挖掘cache middleware source@cache_page使用的内容)我找到了CACHE_MIDDLEWARE_ANONYMOUS_ONLY设置!

我相信这应该为我解决问题。