代码之家  ›  专栏  ›  技术社区  ›  tghw megawac

Django博客缓存

  •  1
  • tghw megawac  · 技术社区  · 15 年前

    我有一个用django编写的博客,我开始使用带有文件系统缓存后端的基本django缓存中间件。不幸的是,这导致了两件不应该缓存的事情:登录用户的管理链接(例如“编辑此日志”)和 基于cookie的预填充注释表单。

    为了解决这个问题,我开始使用模板缓存标记:

    {% load cache %}
    
    ...admin links...
    {% cache 500 blog_entry entry.id %}
    ...entry...
    {% endcache %}
    ...comment form...
    

    但似乎整个页面仍在缓存中。如何设置缓存系统 只有 缓存显式设置的模板部分?

    编辑 :对于评论,如果有人在博客上评论,我会将他们的姓名、网站和电子邮件地址存储在会话变量中。如果它们返回到站点,那么我将用该数据预填充表单的那些部分。但这意味着缓存系统可以缓存带有预填充数据的视图,这并不好。

    2 回复  |  直到 14 年前
        1
  •  5
  •   DaveJ    15 年前

    将此添加到设置中。py:

    CACHE_MIDDLEWARE_ANONYMOUS_ONLY = True
    

    这应该可以解决管理员链接的问题,我不太明白您的第二个问题(预填充的注释)是什么?

        2
  •  7
  •   Ricky    15 年前

    现在缓存模板片段而不是整个页面,您需要删除缓存中间件。