加入收藏 | 设为首页 | 会员中心 | 我要投稿 武陵站长网 (https://www.50888.com.cn/)- 行业智能、建站、操作系统、语音技术、区块链!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

RESTful 自定义分页器

发布时间:2023-12-25 13:49:11 所属栏目:教程 来源:DaWei
导读: 如果默认的分页功能无法满足要求,可以自行定义分页器。

PageNumberPagination

前端访问网址形式:
GET http://127.0.0.1/api/students/?page=4

可以在子类中定义的属性:
page
如果默认的分页功能无法满足要求,可以自行定义分页器。

PageNumberPagination

前端访问网址形式:
GET  http://127.0.0.1/api/students/?page=4

可以在子类中定义的属性:
page_size :每页数目;
page_query_param :前端发送的页数关键字名,默认为"page";
page_size_query_param :前端发送的每页数目关键字名,默认为None;
max_page_size :前端最多能设置的每页数量。
from rest_framework.pagination import PageNumberPagination
class StandardPageNumberPagination(PageNumberPagination):
    page_size_query_param = 'page_size' # 每页数据条数
    max_page_size = 
class StudentViewSet(ModelViewSet):
    queryset = StudentsModel.objects.all()
    serializer_class = StudentsSerializer
    pagination_class = StandardPageNumberPagination
    
LimitOffsetPagination
前端访问网址形式:
GET http://127.0.0.1/api/students/?limit=100&offset=400

可以在子类中定义的属性:
default_limit: 默认限制,默认值与PAGE_SIZE设置为一致;
limit_query_param limit:参数名,默认 'limit;
offset_query_param: offset 参数名,默认 ‘offset’;
max_limit :最大 limit 限制,默认 None。
from rest_framework.pagination import LimitOffsetPagination
class StudentViewSet(ModelViewSet):
    queryset = StudentsModel.objects.all()
    serializer_class = StudentsSerializer
    pagination_class = LimitOffsetPagination



 

(编辑:武陵站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章