fromrest_framework.paginationimportPageNumberPagination,LimitOffsetPagination,CursorPagination# 基本分页:正常的查第几页,每页显示多少条的方式---》常用classCommonPageNumberPagination(PageNumberPagination):#4 个类属性page_size =2#每
4.前端展示分页器样式 5.总页码数问题 divmod方法 6.前端页面页码个数渲染问题 后端产生 前端渲染(通常来说后端返回的都是奇数的页码个数) 部分代码展示def ab_bk_func(request): per_page_num = 10 # 每页展示多少条数据 current_page = request.GET.get('page', 1) try: current_page = int(current...
第一种 PageNumberPagination 看第n页,每页显示n条数据,第二种 LimitOffsetPagination 在第n个位置 向后查看n条数据,第三种 CursorPagination 加密游标的分页 把上一页和下一页的id记住。 这三种方法都可以在pagination类里查看到 from rest_framework.pagination import 1. PageNumberPagination 在项目根目录下创建...
pagination import PageNumberPagination # 自定义分页器 class MyPageNumberPagination(PageNumberPagination): page_size = 3 # 每页显示3条数据 page_query_param = 'page' # 查询参数 page_size_query_description = 'size' max_page_size = 5 # 最大每页显示五条数据 # 查询函数 from app01.serializer im...
可选分页器 1)LimitOffsetPagination 前端访问网址形式: GET http:///books/?limit=100&offset=400 1. 可以在子类中定义的属性: default_limit 默认限制,默认值与PAGE_SIZE设置一致 limit_query_param limit参数名,默认’limit’ offset_query_param offset参数名,默认’offset’ ...
1.使用serializer实现基本序列化 2.使用modelserializer实现商品序列化 3.GenericView方式实现商品列表页和分页 4.viewsets和router实现商品列表页 5.各种View的分析 三、DRF的使用 1.DRF的Request和Response类 2.DRF过滤器 过滤的使用 搜索的使用 排序的使用 ...
分页功能在处理大量数据时尤为重要,它允许API以分组的形式返回数据,从而避免一次性加载大量数据导致的性能问题。DRF提供了`PageNumberPagination`类来实现标准的分页功能,开发者只需在视图中配置该分页器,即可实现分页返回结果。此外,DRF还支持自定义分页器,允许开发者根据具体需求实现更为个性化的分页逻辑...
分页器使用3步: 1.导入类 from rest_framework.pagination import LimitOffsetPagination 2.自定义分页器类: class NewsLimitOffsetPagination(LimitOffsetPagination): default_limit = 10 limit_query_param = 'limit' offset_query_param = 'offset' max_limit = 20 def get_offset(self, request): return 0 ...
排序的使用 一般需要对商品根据销量、价格等排序,通常使用DRF的OrderingFilter类,它支持简单的查询参数控制的结果排序。 在views.py中增加属性: class GoodsListViewSet(mixins.ListModelMixin, viewsets.GenericViewSet): '''商品列表页,并实现分页、搜索、过滤、排序''' queryset = Goods.objects.all() serializer...