分页逻辑

from rest_framework.pagination import PageNumberPagination

class BookView(APIView):

    # authentication_classes = [UserAuth]

    # permission_classes = [SVIPPermission]

    # throttle_classes = [VisitThrottle]

    # renderer_classes = []

    def get(self,request):
        '''
        查看所有书籍
        :param request:
        :return:
        '''

        class MyPageNumberPagination(PageNumberPagination):
            page_size=2
            page_query_param="page_num"
            page_size_query_param="size"
            max_page_size=5


        print(request.user,request.auth)

        book_list=Book.objects.all()

        pnp=MyPageNumberPagination()

        paged_book_list=pnp.paginate_queryset(book_list,request)

        serializer=BookSerializer(paged_book_list,many=True)

        return Response(serializer.data)

    def post(self,request):
        '''
        添加一条书籍
        :param request:
        :return:
        '''
        print(request.data)

        serializer=BookSerializer(data=request.data,many=False)

        if serializer.is_valid():
            serializer.save() # create操作

            return Response(serializer.data)
        else:
            return Response(serializer.errors)

  

 

 

相关文章:

  • 2022-01-15
  • 2022-01-08
  • 2021-07-12
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-01
  • 2021-06-03
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案