Ngay từ đầu tôi, bạn đang sử dụng @cache_page(CACHE_TTL)
ở sai nơi và sai cách.
Theo django docs ', bạn cần cache_page
decorator để ở trên phương thức của lớp 'không phải là chính lớp đó và nó cần được bao bọc trong method_decorator
.
Ghi đè ParameterViewSet
của dispatch
như bên dưới và nó sẽ thực hiện công việc.
@method_decorator(cache_page(CACHE_TTL))
def dispatch(self, *args, **kwargs):
return super().dispatch(*args, **kwargs)
Tài liệu:
- Trang trí lớp học
- Sử dụng bộ nhớ cache với apiview và viewets