自定製分頁類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