Add a custom middleware to improve caching behavior

This commit is contained in:
2024-12-29 22:28:39 +01:00
parent 159bc66b59
commit ee5b5f0b3a
3 changed files with 15 additions and 3 deletions

View File

@@ -1,4 +1,4 @@
from ram.utils import git_suffix from ram.utils import git_suffix
__version__ = "0.15.0" __version__ = "0.15.1"
__version__ += git_suffix(__file__) __version__ += git_suffix(__file__)

View File

@@ -15,6 +15,7 @@ DEBUG = False
# SECURITY WARNING: cache middlewares must be loaded before cookies one # SECURITY WARNING: cache middlewares must be loaded before cookies one
MIDDLEWARE = [ MIDDLEWARE = [
"ram.middleware.DisableClientSideCachingMiddleware",
"django.middleware.cache.UpdateCacheMiddleware", "django.middleware.cache.UpdateCacheMiddleware",
"django.middleware.common.CommonMiddleware", "django.middleware.common.CommonMiddleware",
"django.middleware.cache.FetchFromCacheMiddleware", "django.middleware.cache.FetchFromCacheMiddleware",
@@ -22,8 +23,8 @@ MIDDLEWARE = [
CACHES = { CACHES = {
"default": { "default": {
"BACKEND": "django.core.cache.backends.redis.RedisCache", "BACKEND": "django.core.cache.backends.filebased.FileBasedCache",
"LOCATION": "redis://127.0.0.1:6379", "LOCATION": settings.STORAGE_DIR / "cache",
} }
} }

11
ram/ram/middleware.py Normal file
View File

@@ -0,0 +1,11 @@
from django.utils.cache import add_never_cache_headers
class DisableClientSideCachingMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
response = self.get_response(request)
add_never_cache_headers(response)
return response