基于函数的视图的中间分页
我们在这些示例中看到了( ex_1 , ex_2 )如何在任何泛型类基本视图中使用和覆盖分页类。
当我们想在基于函数的视图中使用分页时会发生什么?
让我们假设我们想要使用 PageNumberPagination
为 MyModel
创建一个基于函数的视图,仅响应 GET
请求。然后:
from rest_framework.pagination import PageNumberPagination
@api_view(['GET',])
def my_function_based_list_view(request):
paginator = PageNumberPagination()
query_set = MyModel.objects.all()
context = paginator.paginate_queryset(query_set, request)
serializer = MyModelSerializer(context, many=True)
return paginator.get_paginated_response(serializer.data)
我们可以通过更改此行来执行上述自定义分页:
paginator = PageNumberPagination()
对此
paginator = MyCustomPagination()
只要我们定义了 MyCustomPagination
来覆盖一些默认的分页