(一)、基础分页

  • 全局配置

    1. REST_FRAMEWORK = [
    2. 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
    3. 'PAGE_SIZE': 2 # 每一页的数据条数
    4. ]
  • 局部设置:在视图中设置

    1. pagination_classes = PageNumberPagination
    2. 或者设置
    3. pagination_classes = LimitOffsetPagination

    (三)、自定义分页

  • 继承框架中的PageNumberPagination

  • page_size_query_param:分页中数据数量的参数名
  • page_size:分页中的参数数量
  • max_page_size:页面中的最大显示数量
  1. from rest_framework.pagination import PageNumberPagination
  2. class UserPagination(PageNumberPagination):
  3. ''' 自定义分页 '''
  4. page_size_query_param = "page_size"
  5. page_size = 3
  6. class UserExtraActionViewSet(ModelViewSet):
  7. ''' 视图集额外的动作 '''
  8. queryset = UserProfile.objects.all()
  9. serializer_class = UserProfileSerializers
  10. lookup_url_kwarg = 'id'
  11. # 自定义分页
  12. pagination_class = UserPagination