自定制分页类python
pagination.py框架
from rest_framework.pagination import PageNumberPagination # 普通分页 class CarPageNumberPagination(PageNumberPagination): # 默认一页的条数 page_size = 3 # 用户能够自定义选择一页的条数,但最多显示5条 page_size_query_param = 'page_size' max_page_size = 5 # 默认条数访问 /咱们路由设置访问这个视图的路由/?page=页面号 # eg:/咱们路由设置访问这个视图的路由/?page=1 # 自定义条数访问 /咱们路由设置访问这个视图的路由/?page=页面号&page_size=一页的条数 # eg:/咱们路由设置访问这个视图的路由/?page=1&page_size=5
views.py加密
from . import pagination class 模型名称(ModelViewSet): ....... pagination_class = pagination.CarPageNumberPagination
自定制分页类rest
pagination.pycode
from rest_framework.pagination import LimitOffsetPagination # 偏移分页 class CarLimitOffsetPagination(LimitOffsetPagination): # 默认一页的条数 default_limit = 3 # limit控制一页显示的条数,offset控制偏移的条数(从头开始计数) limit_query_param = 'limit' offset_query_param = 'offset' # 限制limit能够设置的最大显示条数 max_limit = 5 # 接口 /咱们路由设置访问这个视图的路由/?limit=一页的条数&offset=偏移的条数 # eg:/咱们路由设置访问这个视图的路由/?limit=5&offset=2 # 显示3~7条
views.py排序
from . import pagination class 模型名称(ModelViewSet): ....... pagination_class = pagination.CarLimitOffsetPagination
自定制分页类接口
pagination.py路由
from rest_framework.pagination import CursorPagination # 加密分页 class CarCursorPagination(CursorPagination): # 默认一页的条数 page_size = 3 # 用户能够自定义选择一页的条数,但最多显示5条 page_size_query_param = 'page_size' max_page_size = 5 # 默认排序规则 ordering = 'pk' # 采用默认排序访问 /咱们路由设置访问这个视图的路由/?cursor=加密串 # eg:/咱们路由设置访问这个视图的路由/?cursor=cD0z # 结合视图类实现OrderingFilter自定义排序规则 # /咱们路由设置访问这个视图的路由/?cursor=加密串&ordering=排序字段 # eg:/咱们路由设置访问这个视图的路由/?cursor=cD0z&ordering=-price
views.pyit
from . import pagination class 模型名称(ModelViewSet): ....... pagination_class = pagination.CarCursorPagination