settings.py
['django.middleware.cache.UpdateCacheMiddleware'] + MIDDLEWARE + ['django.middleware.cache.FetchFromCacheMiddleware']
middleware.py
def middleware(request):
if global_value % 2 == 1:
# bypass cache, can I do something?
response = get_response(request)
else:
response = get_response(request)
return response
The reason is that we use certain values in headers to distinguish which need cache(url is same), but the cache cannot recognize it.
I resolve this problem by override FetchFromCacheMiddleware: middleware.py
settings.py