Django课程讲义 APIView

Django课程讲义 APIView,第1张

概述案例-使用APIView改写RestAPI # views.pyfrom rest_framework.views import APIViewfrom rest_framework import statusfrom django.http import Http404from booktest.serializers import BookInfoSerializer# /boo


案例-使用APIVIEw改写RestAPI
# vIEws.pyfrom rest_framework.vIEws import APIVIEwfrom rest_framework import statusfrom django.http import http404from booktest.serializers import BookInfoSerializer# /books/class BookListVIEw(APIVIEw):    """    获取所有图书、增加图书    """    def get(self,request):        """        获取所有的图书数据        """        queryset = BookInfo.objects.all()        # 序列化所有图书数据        serializer = BookInfoSerializer(queryset,many=True)        return Response(serializer.data)    def post(self,request):        """        新增一个图书数据        """        # 反序列化-数据校验        serializer = BookInfoSerializer(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(APIVIEw):    """    获取、修改、删除指定图书    """    def get(self,request,pk):        """        获取指定图书        """        try:            book = BookInfo.objects.get(pk=pk)        except BookInfo.DoesNotExist:            raise http404        # 将图书数据进行序列化        serializer = BookInfoSerializer(book)        return Response(serializer.data)    def put(self,pk):        """        修改指定图书        """        try:            book = BookInfo.objects.get(pk=pk)        except BookInfo.DoesNotExist:            raise http404        # 反序列化-数据校验        serializer = BookInfoSerializer(book,data=request.data)        serializer.is_valID(raise_exception=True)        # 反序列化-数据保存(save内部会调用序列化器类的update方法)        serializer.save()        return Response(serializer.data)    def delete(self,pk):        """        删除指定图书:        """        try:            book = BookInfo.objects.get(pk=pk)        except BookInfo.DoesNotExist:            raise http404        book.delete()        return Response(status=status.http_204_NO_CONTENT)
总结

以上是内存溢出为你收集整理的Django课程讲义 APIView全部内容,希望文章能够帮你解决Django课程讲义 APIView所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1195536.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存