Skip to content

Commit d886794

Browse files
committed
Switch on cache
1 parent 3ff27af commit d886794

File tree

3 files changed

+12
-19
lines changed

3 files changed

+12
-19
lines changed

api/drf_views.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@
1414
from django.db.models import Prefetch, Count, Q, OuterRef
1515
from django.utils import timezone
1616

17-
# ¤ from django.utils.decorators import method_decorator
18-
# ¤ from django.views.decorators.cache import cache_page
19-
2017
from main.utils import is_tableau
2118
from deployments.models import Personnel
2219
from databank.serializers import CountryOverviewSerializer
@@ -683,7 +680,6 @@ def remove_unconfirmed_events(self, objs):
683680
return [self.remove_unconfirmed_event(obj) for obj in objs]
684681

685682
# Overwrite to exclude the events which require confirmation
686-
# ¤ @method_decorator(cache_page(1200))
687683
def list(self, request, *args, **kwargs):
688684
now = timezone.now()
689685
date = request.GET.get("date", now)

main/settings.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,9 +213,9 @@
213213
'django.middleware.locale.LocaleMiddleware',
214214
# 'middlewares.middlewares.LocaleMiddleware',
215215
'django.contrib.auth.middleware.AuthenticationMiddleware',
216-
# ¤ 'middlewares.cache.UpdateCacheForUserMiddleware',
216+
'middlewares.cache.UpdateCacheForUserMiddleware',
217217
'django.middleware.common.CommonMiddleware',
218-
# ¤ 'middlewares.cache.FetchFromCacheForUserMiddleware',
218+
'middlewares.cache.FetchFromCacheForUserMiddleware',
219219
'django.middleware.csrf.CsrfViewMiddleware',
220220
'django.contrib.messages.middleware.MessageMiddleware',
221221
'django.middleware.clickjacking.XFrameOptionsMiddleware',

middlewares/cache.py

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
from re import sub
21
from django.conf import settings
32
from django.middleware.cache import FetchFromCacheMiddleware, UpdateCacheMiddleware
4-
from django.utils.cache import get_cache_key
53
from rest_framework.views import APIView
64

75

@@ -10,20 +8,19 @@ def get_cache_key_prefix(request):
108
drf_request = APIView().initialize_request(request)
119

1210
if drf_request.user.is_anonymous:
13-
user_id = 'anonymous'
14-
else:
15-
user_id = drf_request.user.id
16-
if not cache_prefix:
17-
return f'user_{user_id}'
18-
19-
return f'{cache_prefix}_user_{user_id}'
11+
return f'{cache_prefix}_anonymous'
12+
2013

2114
class UpdateCacheForUserMiddleware(UpdateCacheMiddleware):
2215
def process_response(self, request, response):
23-
self.key_prefix = get_cache_key_prefix(request)
24-
return super().process_response(request, response)
16+
if key_prefix := get_cache_key_prefix(request):
17+
self.key_prefix = key_prefix
18+
return super().process_response(request, response)
19+
return response
20+
2521

2622
class FetchFromCacheForUserMiddleware(FetchFromCacheMiddleware):
2723
def process_request(self, request):
28-
self.key_prefix = get_cache_key_prefix(request)
29-
return super().process_request(request)
24+
if key_prefix := get_cache_key_prefix(request):
25+
self.key_prefix = key_prefix
26+
return super().process_request(request)

0 commit comments

Comments
 (0)