我没有找到有关如何配置 Django Rest Framework 通用视图缓存的信息。我是否必须覆盖获取消息并添加自己的@method_decorator?这对我来说感觉不一般。
class BlogTags(generics.ListAPIView):
queryset = CustomContentBlogTag.objects.all()
serializer_class = CustomContentBlogTagSerializer
permission_classes = [AllowAny]
@method_decorator(cache_page(60 * 60 * 24))
def get(self, request, *args, **kwargs):
return super().get(request, *args, **kwargs)
我找到的文档:
缓存:https://www.django-rest-framework.org/api-guide/caching/
通用视图:https://www.django-rest-framework.org/api-guide/generic-views/
在通用视图文档中,有一句话,查询集以某种方式缓存。但是,如果我想要缓存整个视图怎么办?
您可以在
name
上使用 method_decorator
参数并装饰一个类。事实上,当你在课堂上使用它时,name
是必需的。
示例:
@method_decorator(cache_page(60 * 5), name="list")
class MyView(mixins.ListModelMixin, GenericViewSet):
...