在使用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
进行子类化