我需要每个用户的缓存。常规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/