我正在使用Django Cache来缓存某些页面。我正在使用@vary_on_cookie装饰器来允许登录用户缓存特定的用户详细信息。但是,我需要为特定页面清除特定用户的缓存。
即。我需要一种方法来生成django中间件缓存生成密钥的相同密钥,使用cookie和路径等。然后我可以使用低级缓存来清除特定条目。
我该怎么做?
答案 0 :(得分:1)
您要查找的功能位于django.middleware.cache
:
>>> from django.middleware.cache import get_cache_key as gk
>>> help(gk)
将返回以下内容:
get_cache_key(request, key_prefix=None, method='GET', cache=None)
Returns a cache key based on the request path and query. It can be used
in the request phase because it pulls the list of headers to take into
account from the global path registry and uses those to build a cache key
to check against.
请记住,您可以通过手动设置变量KEY_FUNCTION
来定义自己的密钥生成机制。
HTH!