GenericAPIView 分手后的思念是犯贱 2023-06-02 15:59 11阅读 0赞 ![1552472-20190801165149835-741384515.png][] ![1552472-20190731193930384-1218170239.png][] ### 案例-使用GenericAPIView改写RestAPI ### # views.py from rest_framework.generics import GenericAPIView from rest_framework import status from booktest.serializers import BookInfoSerializer from booktest.models import BookInfo # /books/ class BookListView(GenericAPIView): """ 获取所有图书、增加图书 """ # 指定视图所使用的序列化器类 serializer_class = BookInfoSerializer # 指定视图所使用的查询集 queryset = BookInfo.objects.all() def get(self, request): """ 获取所有的图书数据 """ queryset = self.get_queryset() # 序列化所有图书数据 serializer = self.get_serializer(queryset, many=True) return Response(serializer.data) def post(self, request): """ 新增一个图书数据 """ # 反序列化-数据校验 serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) # 反序列化-数据保存(save内部会调用序列化器类的create方法) serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) # /books/(?P<pk>\d+)/ class BookDetailView(GenericAPIView): """ 获取、修改、删除指定图书 """ # 指定视图所使用的序列化器类 serializer_class = BookInfoSerializer # 指定视图所使用的查询集 queryset = BookInfo.objects.all() def get(self, request, pk): """ 获取指定图书 """ instance = self.get_object() # 将图书数据进行序列化 serializer = BookInfoSerializer(instance) return Response(serializer.data) def put(self, request, pk): """ 修改指定图书 """ instance = self.get_object() # 反序列化-数据校验 serializer = BookInfoSerializer(instance, data=request.data) serializer.is_valid(raise_exception=True) # 反序列化-数据保存(save内部会调用序列化器类的update方法) serializer.save() return Response(serializer.data) def delete(self, request, pk): """ 删除指定图书: """ instance = self.get_object() instance.delete() return Response(status=status.HTTP_204_NO_CONTENT) 转载于:https://www.cnblogs.com/oklizz/p/11278638.html [1552472-20190801165149835-741384515.png]: /images/20230601/5969718abd82432ebc4ce081ddcfce5e.png [1552472-20190731193930384-1218170239.png]: /images/20230601/3fc06fba650f4652b7c9b20f97086996.png
相关 【Django】REST_Framework框架——GenericAPIView类源码解析 ![在这里插入图片描述][e6d03f4c52e74d08b07648934808bbbe.webp_pic_center] 一、GenericAPIView源码解析 本是古典 何须时尚/ 2024年04月08日 13:20/ 0 赞/ 79 阅读
相关 【Django】REST_Framework框架——Mixin类和GenericAPIView中的视图子类源码解析 ![在这里插入图片描述][615cfc20a084444bbb5599e58877fce2.png_pic_center] 一、Mixin类 提供了几种后端视图(对数据 ゞ 浴缸里的玫瑰/ 2024年04月07日 10:10/ 0 赞/ 77 阅读
相关 GenericAPIView ![1552472-20190801165149835-741384515.png][] ![1552472-20190731193930384-1218170239.pn 分手后的思念是犯贱/ 2023年06月02日 15:59/ 0 赞/ 12 阅读
相关 day03---通用视图---GenericAPIView 一:序列化返回多个模型类对象: 1;视图 class BookView(GenericAPIView): 定义类属性 迷南。/ 2022年12月09日 10:24/ 0 赞/ 153 阅读
还没有评论,来说两句吧...