我在我的一个 django 项目中使用Memcached(带有python-memcached绑定)。情况是在主页上我有:
- 顶栏:(其中包含登录链接/用户名和个人资料链接)
- 搜索表格
- 几块结果
目前,我正在使用cache_page()
装饰器来缓存整个页面,如下所示:
@cache_page(3600)
def home(request):
# View Code Goes Here
以上内容按预期工作。但是由于主页是一个可公开访问的页面,我在以下情况下面临一个问题:
- 匿名用户请求主页(如果尚未缓存该页面,则该页面已被缓存)。
- 现在用户登录并被重定向到主页。
- 加载缓存的主页(顶部栏仍然显示登录链接,而不是登录用户的姓名和个人资料链接,因为该页面在用户登录之前被缓存。)
问题:
有没有办法在模板级别或视图级别,让我们在使用cache_page()
装饰器时指定一个我们不想缓存的块?
请注意:我知道我们可以使用{% cache %}
模板标签或cache.set
在上述场景中的每个块。但我特别在寻找一种解决方案,我们可以使用cache_page()
装饰器并且仍然能够指定block
我不想缓存在特定视图或模板中的