07-03 分页组件
可选分页器:
1.PageNumberPagination:
可以在字类中定义的属性:
- page_size 每页数据数
- page_query_param 前端选择页数的参数
- page_size_query_param 用户自定义每页显示数据数的前端参数,默认为None
- max_page_size 前端最多能设置的每页数量
示例:
# paginations.py from rest_framework.pagination import PageNumberPagination, CursorPagination, LimitOffsetPagination class CoursePageNumberPagination(PageNumberPagination): # 每页数据数 page_size = 2 # 选择页数的前端参数 page_query_param = 'page' # 用户自定义每页显示数据数 page_size_query_param = 'page_size' # 每页最多显示数据数 max_page_size = 10
views.py中配置pagination_class
# views.py from .paginations import CoursePageNumberPagination class FreeCourseListAPIView(ListAPIView): # 分页器 pagination_class = CoursePageNumberPagination ...
2.LimitOffsetPagination:
可以在字类中定义的属性:
- default_limit 默认限制,默认值与PAGE_SIZE设置一致
- imit_query_param limit参数名,默认'limit'
- offset_query_param offset参数名,默认'offset'
- max_limit最大limit限制,默认None
示例:
# paginations.py from rest_framework.pagination import PageNumberPagination, CursorPagination, LimitOffsetPagination class CourseLimitOffsetPagination(LimitOffsetPagination): # 默认一页条数 default_limit = 2 # 从offset开始往后显示limit条 limit_query_param = 'limit' offset_query_param = 'offset' max_limit = 2
views.py中配置pagination_class
# views.py from .paginations import CourseLimitOffsetPagination class FreeCourseListAPIView(ListAPIView): # 分页器 pagination_class = CourseLimitOffsetPagination ...