python - Django 每个用户 View 缓存

标签 python django caching django-views

我需要每个用户的缓存。常规view caching遗憾的是不支持基于用户的缓存。

我尝试了 template fragment caching像这样:

{% load cache %}
{% cache 500 "mythingy" request.user %}
    ... HTML stuff ...
{% endcache %}

但是它太慢了。

有人知道实现我需要的更快的方法吗?

最佳答案

从 Django >=1.7 开始,使用 cache_page连同 vary_on_cookie您认为装饰器应该可以解决这个问题。

像这样:

from django.views.decorators.vary import vary_on_cookie
from django.views.decorators.cache import cache_page

@cache_page(60 * 15)
@vary_on_cookie
def view_to_cache(request):
    ...

注意装饰器的顺序,因为 vary_on_cookie 应该在到达 cache_page 之前处理。

关于python - Django 每个用户 View 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20146741/

相关文章:

python - 从远程 Windows 虚拟机复制文件

python - 为什么python对范围不严格?

python - Django 表 2 创建自定义计算字段

python - Django 1.8 无法加载 css 模板

java - 有没有办法预缓存网页以供使用 Android WebView 查看?

python - 有什么办法可以巧妙地包装一个单元格吗?

python - 调用生成器对象返回错误 'TypeError: ' dict'object is not callable'

python - Django:需要勾选复选框以提交表单

http - Google Cloud Storage 文件缓存和过期问题

java - java中一个对象的线程安全缓存