djangorestframework 分页

分页方式

  • 普通分页   看第n页,每页显示m条数据
  • 切割分页   在n个位置,向后查看m条数据
  • 加密分页   这与普通分页方式相似,不过对url中的请求页码进行加密

普通分页

新建一个自定义分页类 MyPageNumberPagination

新建分页文件pagenumberpaginations

from rest_framework.pagination import PageNumberPagination
class MyPageNumberPagination(PageNumberPagination):
    page_size = 2                   # 每页默认的显示数量
    max_page_size = 5               # 每页最大显示数量
    page_size_query_param = 'size'  # 表示url中每页数量参数
    page_query_param = 'page'       # url中的页码参数

settings中添加配置

REST_FRAMEWORK = {
    'DEFAULT_PAGINATION_CLASS':'app01.pagenumberpaginations.MyPageNumberPagination'
}

 

切割分页

from rest_framework.pagination import LimitOffsetPagination
class MyPageNumberPagination(LimitOffsetPagination):
    default_limit = 2             # 表示默认每页几条数据
    limit_query_param = 'limit'   # 表示url中本页需要显示数量参数
    offset_query_param = 'offse'  # 表示从数据库中的第几条数据开始显示参数
    max_limit = 5                 #  表示每页最大显示页数 

  

加密分页

from rest_framework.pagination import CursorPagination
class MyPageNumberPagination(CursorPagination):
    cursor_query_param = 'cursor'
    page_size = 2
    ordering = 'id'
    page_size_query_param = 'size'
    max_page_size = 5

  

 

 

posted @ 2023-03-15 20:34  羊脂玉净瓶  阅读(2)  评论(0)    收藏  举报