Django在经过身份验证的站点中进行缓存:最佳实践

时间:2014-04-26 11:43:51

标签: python django caching memcached

我需要将memcached添加到我的django网站。 这是一个经过身份验证的网站,不同的用户可以在同一页面上看到不同的数据。 哪种是最佳做法? 我的意思是,避免用户看到彼此缓存的页面(信息泄露)......

我想我应该使用类似的东西:

{% load cache %}
{% cache 500 sidebar request.user.username %}
    .. sidebar for logged in user ..
{% endcache %}

或:

@vary_on_cookie
def my_view(request):
    # ..

哪种方法最安全,更好?

1 个答案:

答案 0 :(得分:1)

根本不是一回事,{% cache %} template tag允许缓存模板片段以及服务器使用的@vary_on_cookie装饰器设置Vary response header Cookie,以及浏览器使用的那些。

此外,您可以{% cache 500 sidebar request.user %}而不是指定用户名。