分页功能的实现

Posted ddzc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分页功能的实现相关的知识,希望对你有一定的参考价值。

DRF框架中分页功能接口

一、在框架中提供来两个类来实现分页功能,PageNumberPagination和LimitOffsetPagination

  1. PageNumberPagination是页码分页,这个类可以进行全局设置
  2. LimitOffsetPagination按照偏移量来进行分页
  3. 两个类都可以实现,在程序的具体设计上会有一部分的差别,但是差别不大。
  4. 需要注意的是:所有分页的接口实现必须依赖列表视图(ListAPIView),如果换成其他的视图类,系统会无法执行程序

    二、以PageNumberPagination为例进行代码的编写

  • 导入列表视图类和PageNumberPagination

‘‘‘python

from rest_framework.pagination import PageNumberPagination
from rest_framework.generics import ListAPIView
from users.models import Student

‘‘‘

  • 创建分页器类,在类中进行分页功能的具体设置

‘‘‘python

class StudentPagination(PageNumberPagination):
    page_size = 5
    # 每一页中显示的信息总条数
    page_query_param = 'page'
    # url查询中的参数名字,例如 ?page=1
    # max_page_size
    # 允许的每一页最多的数据显示条数

‘‘‘

  • 创建视图类,在视图类中引用定义好的分页功能类

‘‘‘python

class StudentPaginationListAPIView(ListAPIView):
    queryset = Student.objects.all()
    serializer_class = StudentSerializer
    pagination_class = StudentPagination
    # 注意分页器的使用必须配合ListAPIView列表视图类的使用

‘‘‘

  • 创建url,分配路由进行程序测试

‘‘‘python

from django.urls import path
from . import views
urlpatterns = [
    path('page1/', views.StudentPaginationListAPIView.as_view()),
]

‘‘‘

以上是关于分页功能的实现的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET 中如何用C#语言代码实现分页功能

分页功能前后端代码实现

如何使用asp.net代码实现分页功能

Java中如何实现分页功能

django实现分页功能

IOS开发-OC学习-常用功能代码片段整理