DRF框架中分頁實現

2021-10-08 19:26:58 字數 1732 閱讀 7457

全域性分頁比較簡單,直接在settings中增加如下內容即可

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'rest_framework', # 需要先註冊rest_framework服務

]rest_framework =

這樣就設定完了,現在頁面就可以進行分頁展示了,效果如下:

在你需要區域性分頁的應用中,建立乙個pagination.py檔案,內容如下:

#!/usr/bin/env python

# _*_ coding:utf-8 _*_

# 自定義分頁需要

from rest_framework.pagination import pagenumberpagination

# 自定義普通分頁

class carpagenumberpagination(pagenumberpagination):

# 預設一頁的條數

page_size = 3

# 使用者可以自定義選擇一頁的條數,但最多顯示10條

page_size_query_param = 'page_size'

max_page_size = 10

# 獲取頁碼數

page_query_param = 'page'

# 預設條數訪問 /我們路由設定訪問這個檢視的路由/?page=頁面號

# eg:/我們路由設定訪問這個檢視的路由/?page=1

# 自定義條數訪問 /我們路由設定訪問這個檢視的路由/?page=頁面號&page_size=一頁的條數

# eg:/我們路由設定訪問這個檢視的路由/?page=1&page_size=10

然後在views.py中增加如下**:

from django.shortcuts import render

# create your views here.

from rest_framework import viewsets

from prodcenter.serializers import prodinfoserializer

from prodcenter.models import prodinfo

from . import pagination # 引用分頁模組

class prodviewset(viewsets.modelviewset):

pagination_class = pagination.carpagenumberpagination # 前面的class是固定寫法,不能修改,分頁需要增加

queryset=prodinfo.objects.all()

serializer_class = prodinfoserializer

效果如下:

DRF實現分頁功能

rest framework提供了分頁的支援。我們可以在配置檔案中設定全域性的分頁方式,如 rest framework 也可通過自定義pagination類,來為檢視新增不同分頁行為。在檢視中通過pagination clas屬性來指明。class largeresultssetpaginatio...

drf 分頁 例項

from rest framework import serializers class studentserializers serializers.modelserializer class meta model students 設定關聯模型 model就是關聯模型 fields all fi...

drf 分頁元件

目錄可以達到檢視第幾頁以及每一頁顯示幾條的效果 from rest framework.pagination import pagenumberpagination 一 基本使用 url url 無效 class pager apiview def get self,request,args,kwa...