#在当前子应用courses下创建一个分页器的文件paginations.py
from rest_framework.pagination import PageNumberPagination class CourseListPageNumberPagination(PageNumberPagination): """课程列表分页器""" page_query_param = "page" page_size = 5 max_page_size = 20 page_size_query_param = "size"
from .models import Course from .serializers import CourseModelSerializer from django_filters.rest_framework import DjangoFilterBackend from rest_framework.filters import OrderingFilter from .paginations import CourseListPageNumberPagination class CourseListAPIView(ListAPIView): """课程列表API接口""" queryset = Course.objects.filter(is_show=True, is_deleted=False).order_by("orders","-id") serializer_class = CourseModelSerializer filter_backends = [DjangoFilterBackend,OrderingFilter] filter_fields = (‘course_category‘,) ordering_fields = [‘id‘, ‘students‘, ‘price‘] # 指定分页器 pagination_class = CourseListPageNumberPagination
urls路由的写法 path("", views.CourseListAPIView.as_view()), 发送的请求格式 #范例 /user/?course_category=1&ordering="-id" 通过url进行传参
原文:https://www.cnblogs.com/jalen-123/p/13171454.html