1.5 Django RestFramework(下)
drf 內置了很多便捷的功能,在接下來的課程中會給大家依次講解下面的內容:
- 快速上手
- 請求的封裝
- 版本管理
- 認證
- 權限
- 限流
- 序列化
- 視圖
- 條件搜索
- 分頁
- 路由
- 解析器
10. 分頁
在查看數據列表的API中,如果 數據量 比較大,肯定不能把所有的數據都展示給用戶,而需要通過分頁展示。
在drf中為我們提供了一些分頁先關類:
BasePagination,分頁基類
PageNumberPagination(BasePagination) 支持 /accounts/?page=4&page_size=100 格式的分頁
LimitOffsetPagination(BasePagination) 支持 ?offset=100&limit=10 格式的分頁
CursorPagination(BasePagination) 支持 上一下 & 下一頁 格式的分頁(不常用)
10.1 APIView視圖
如果編寫視圖是直接繼承APIView,那么在使用分頁時,就必須自己手動 實例化 和 調用相關方法。
1.PageNumberPagination
2.LimitOffsetPagination
3.CursorPagination
10.2 GenericAPIView派生類
如果是使用 ListModelMixin
或 ModelViewSet
,則只需要配置相關類即可,內部會自動執行相關分頁的方法。
1.PageNumberPagination
2.LimitOffsetPagination
3.CursorPagination
11. 路由
在之前進行drf開發時,對于路由我們一般進行兩種配置:
-
視圖繼承APIView
from django.urls import path from app01 import viewsurlpatterns = [path('api/users/', views.UserView.as_view()), ]
-
視圖繼承
ViewSetMixin
(GenericViewSet、ModelViewSet)