from snippets.models import Snippet from snippets.serializers import SnippetSerializer from rest_framework import mixins from rest_framework import generics """ 我们使用GenericAPIView构建了我们的视图,并且用上了ListModelMixin和CreateModelMixin。 基类提供核心功能,而mixin类提供.list()和.create()操作。然后我们明确地将get和post方法绑定到适当的操作 """ class SnippetList(mixins.ListModelMixin, mixins.CreateModelMixin, generics.GenericAPIView): queryset = Snippet.objects.all() serializer_class = SnippetSerializer def get(self, request, *args, **kwargs): return self.list(request, *args, **kwargs) def post(self, request, *args, **kwargs): return self.create(request, *args, **kwargs) """ 使用GenericAPIView类来提供核心功能,并添加mixins来提供.retrieve()),.update()和.destroy()操作 """ class SnippetDetail(mixins.RetrieveModelMixin, mixins.UpdateModelMixin, mixins.DestroyModelMixin, generics.GenericAPIView): queryset = Snippet.objects.all() serializer_class = SnippetSerializer def get(self, request, *args, **kwargs): return self.retrieve(request, *args, **kwargs) def put(self, request, *args, **kwargs): return self.update(request, *args, **kwargs) def delete(self, request, *args, **kwargs): return self.destroy(request, *args, **kwargs)
Djiango-restframwork-mixins
最新推荐文章于 2024-01-31 09:12:58 发布