Django rest framework-分頁配置

當要查詢的數據列表視圖會返回很多實例,所以我們想要給這些結果分頁,
分頁後允許API客戶端訪問每個單頁。 我們可以用分頁改變默認的列表風格,我們只要稍微修改setting.py文件,添加下面設置:

REST_FRAMEWORK = {
    # 分頁
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',  # LimitOffsetPagination 分頁風格
    'PAGE_SIZE': 3,  # 每頁多少條記錄
}

自定義分頁

# 分頁自定義
from rest_framework.pagination import PageNumberPagination
class ArticlePagination(PageNumberPagination):
    page_size = 4 # 表示每頁的默認顯示數量
    page_size_query_param = 'page_size' # 表示url中每頁數量參數
    page_query_param = 'p' # 表示url中的頁碼參數
    max_page_size = 100  # 表示每頁最大顯示數量,做限制使用,避免突然大量的查詢數據,數據庫崩潰

class ArticleListleView(generics.ListCreateAPIView):

    queryset = Article.objects.all()  # 查詢結果集
    serializer_class = ArticleSerializer # 序列化類
    pagination_class = ArticlePagination   # 自定義分頁會覆蓋settings全局配置的

 

發佈了332 篇原創文章 · 獲贊 55 · 訪問量 48萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章