我在我的 django 项目中使用 memcached 进行缓存,我有这样的视图
def questions(request):
# code to fetch all questions
该函数除了从数据库返回一个问题列表之外什么都不做,但是对于它呈现结果的页面有一个标题,我在其中显示 request.user 名称。
如果我直接使用@cache_page
装饰器,那么请求对象也会被缓存,并且request.user
该页面上的也会从缓存中获取。结果,当我进入问题页面时,我看到了其他人的名字。
有没有一种方法可以防止请求对象被缓存,使用装饰器。一种方法是使用低级 api 并缓存我想要缓存的查询集,但是是否可以编写一个不会缓存与请求对象相关的任何内容的装饰器?
我希望我的问题很清楚。