# urls.py from django.conf.urls import url from appxx import views urlpatterns = [ url(r"^authors/$", views.AuthorView.as_view()), ]
# serializers.py from appxx import models from rest_framework import serializers class AuthorSerializer(serializers.ModelSerializer): class Meta: model = models.Author fields = "__all__"
# views.py from appxx import models from appxx import serializers from rest_framework.views import APIView from rest_framework import pagination class MyPageNumberPagination(pagination.PageNumberPagination): page_query_param = "page" # URL参数名称 page_size = 2 # 每页显示多少条数据 page_size_query_param = "size" # page=2&size=3 --> 第二页显示4、5、6条的数据 max_page_size = 8 # 每页最多显示多少条数据 class AuthorView(APIView): def get(self, request): authors_list = models.Author.objects.all() my_page = MyPageNumberPagination() authors_page = my_page.paginate_queryset(queryset=authors_list, request=request, view=self) s = serializers.AuthorSerializer(authors_page, many=True) return Response(s.data) # return pnp.get_paginated_response(s.data)