drf框架中分頁組件

drf框架中分頁組件

普通分頁(最經常使用)

自定製分頁類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
相關文章
相關標籤/搜索