Django Cache:如何忽略HTTP_ACCEPT标头?

时间:2019-06-03 04:41:51

标签: django caching django-middleware

在使用Django的内置缓存时,如何仅基于URL生成缓存密钥,而忽略HTTP_ACCEPT标头中的细微差别?


在Safari中,HTTP_ACCESS标头的值为'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'

但是在Chrome中是 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3'


由于_generate_cache_key中的utils/cache.py使用HTTP_ACCESS标头的值生成缓存键,因此将它们保存为两个不同的缓存键,并且视图必须调用原始SQL查询两次结束,而不是使用缓存的值。


如何完全忽略HTTP_ACCEPT标头,因此仅在URL(和URL参数)上进行缓存?。

我发现了一个this的问题,可能还找到了this的问题,但是目前尚不清楚是否以及如何继续对_generate_cache_key进行子类化

0 个答案:

没有答案