zoukankan      html  css  js  c++  java
  • python项目_分页功能和分类功能的实现

    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



    ##前端进行测试访问http://127.0.0.1:8000/opt/data7/?page=4 意思就是通过url进行传参的



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

    urls路由的写法
    path("", views.CourseListAPIView.as_view()),
    发送的请求格式
    #范例
    /user/?course_category=1&ordering="-id"
    通过url进行传参
  • 相关阅读:
    Leetcode 1191 K次串联后的最大子数组之和 Kadane 算法
    剑指Offer 38 字符串的排列
    explain结果每个字段的含义说明
    Timsort算法
    synchorized的锁升级
    进程IPC通信方式7种
    死锁知识点总结
    java中各种锁介绍
    运算符优先级记录
    C++ auto关键字
  • 原文地址:https://www.cnblogs.com/jalen-123/p/13171454.html
Copyright © 2011-2022 走看看