Я создаю приложение, в котором мне нужно кэшировать ответ, основанный на файлах cookie.И я также должен признать это недействительным.
Итак, в настоящее время я сделал два представления
Одно для получения кэшированного ответа.
Другое, которое дает некэшированноеответ, а также делает недействительным кеш из вида 1
Так что мои взгляды выглядят так -
from django.utils import timezone
class UserDataCached(APIView):
permission_classes = (permissions.IsAuthenticated,)
@method_decorator(cache_page(60, key_prefix="userdata"))
@method_decorator(vary_on_cookie)
def get(self, request):
times = [timezone.now()]
return Response(times)
class UserDataUncached(APIView):
permission_classes = (permissions.IsAuthenticated,)
def get(self, request):
cache_key = get_cache_key(request, key_prefix="userdata")
print(cache_key)
if cache.has_key(cache_key):
cache.delete(cache_key)
times = [timezone.now()]
return Response(times)
Это не работает, я также пытался сохранить набортаких клавиш, как
keys = set()
keys.add(learn_cache_key(request, response)
, а затем удаляю ключи в моем втором виде как
cache.delete_many(keys)
Есть ли способ, которым я могу этого достичь?