本文章记录在drf框架中实现分页、搜索功能.
实践 分页器 分页器的实现官网介绍有两种方式:
配置文件配置 继承父类完成自定义分页器 分析分页器源码
自定义分页器主要是继承PageNumberPagination,改写get_paginated_response方法与paginate_queryset方法. > 其中get_paginated_response主要是编写分页器的返回结果.
需求示例:
前端采用iView组件中的分页器,该前端分页器主要接收总页数与当前页数.所以后端需要返回数据,并且返回一个总页数.
class MyPagination(PageNumberPagination): # 指定每一页的个数,默认为配置文件里面的PAGE_SIZE page_size = 10 # 可以让前端指定每页个数,默认为空,这里指定page_size去指定显示个数 page_size_query_param = 'page_size' # 可以让前端指定页码数,默认就是page参数去接收 page_query_param = 'page' # 指定返回格式,根据需求返回一个总页数,数据存在results字典里返回 def get_paginated_response(self, data): from collections import OrderedDict return Response( OrderedDict([('count', self.
Read more...