Django 部分缓存视图方法

Django 部分缓存视图方法,django,caching,memcached,Django,Caching,Memcached,我正在使用(带绑定)我的一个django项目。情况是,在主页上,我有: 顶部栏:(包含登录名/用户名的链接以及配置文件的链接) 搜索表 几个结果块 目前,我使用decorator缓存整个页面,如下所示: @cache_page(3600) def home(request): # View Code Goes Here 以上各项工作如预期。但由于主页是一个可公开访问的页面,我面临一个问题,即: 一个匿名用户请求主页(如果它是 还没有) 现在用户登录并被重定向到主页 加载缓存的主页(

我正在使用(带绑定)我的一个django项目。情况是,在主页上,我有:

  • 顶部栏:(包含登录名/用户名的链接以及配置文件的链接)
  • 搜索表
  • 几个结果块
目前,我使用decorator缓存整个页面,如下所示:

@cache_page(3600)
def home(request):
    # View Code Goes Here
以上各项工作如预期。但由于主页是一个可公开访问的页面,我面临一个问题,即:

  • 一个匿名用户请求主页(如果它是 还没有)
  • 现在用户登录并被重定向到主页
  • 加载缓存的主页(Topbar仍然显示登录链接,而不是登录的用户名和配置文件链接,因为页面在用户登录之前已缓存。)
  • 问题: 在模板级或视图级,有没有一种方法可以让我们在使用
    cache\u page()
    decorator时指定一个不想缓存的块

    请注意:我知道我们可以使用
    {%cache%}
    模板标记或
    缓存。为上述场景中的每个块设置
    。但我正在寻找一种解决方案,我们可以使用
    cache\u page()
    decorator,并且仍然能够指定我不希望缓存在特定视图或模板中的

    但这听起来像是一个中间件选项,它也会影响@cache\u页面