首页 > 编程语言 > 详细

python项目_分页功能和分类功能的实现

时间:2020-06-21 10:27:13      阅读:186      评论:0      收藏:0      [点我收藏+]

1.使用rest_framework提供的分页功能

#在当前子应用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"

2.视图函数中加载声明的分页器

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


3.测试,通过postman发送请求

urls路由的写法
path("", views.CourseListAPIView.as_view()),
发送的请求格式
#范例
/user/?course_category=1&ordering="-id"
通过url进行传参

 

python项目_分页功能和分类功能的实现

原文:https://www.cnblogs.com/jalen-123/p/13171454.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!