我有一个django网站,我想在工作人员的每个非管理页面的顶部贴一个“管理栏”。它将包含有用的东西,如页面编辑工具等。
问题来自于我在很多页面上使用@cache_page
装饰器。如果普通用户点击某个页面,则缓存版本会在没有管理栏的情况下出现(即使是管理员用户),如果管理员首先点击该页面,普通用户会看到管理栏。
我可以单调遍历模板,添加区域缓存块但是有很多模板,生命总是太短。
理想情况下,有一种方法可以告诉缓存忽略来自管理员用户的缓存获取/设置请求......但我不知道如何最好地实现它。
你会如何解决这个问题?
答案 0 :(得分:0)
我实际上并没有告诉你全部事实..唯一登录的人是工作人员。其他人都是匿名的。
挖掘cache middleware source(@cache_page
使用的内容)我找到了CACHE_MIDDLEWARE_ANONYMOUS_ONLY
设置!
我相信这应该为我解决问题。