实际开发过程中,如果后台数据量较多时,一次性返回给前端肯定不现实,所以DRF也自带分页的功能,实现的方式有很多种,小编就学习过程中使用过的两种方法来说明一下。都是基于 PageNumberPagination 类使用和自定义重写分页功能。操作步骤如下:
1. 首先在 setting.py 中,定义全局默认的分页。
下面红色标出来的就是使用 PageNumberPagination 类,把查询出来的进行分页。
下面看下源码的几个主要参数如下:page_size、page_query_param、page_size_query_param、max_page_size. 后面的自定义其实也是设置这几个参数。
所以知道这几个参数的用途之后,就可以自由的设置分页的查询参数以及最大页数,这样设置的好处还有就是,一般都是前端传页数过来查询,而不是后端默认设置写死。这样的话就灵活一点。
2. 第二种的话也类似,就是在APP下面新增一个 page.py 文件,重写 MyPageNumberPagination 类继承 PageNumberPagination 类。
然后在 views.py 导入,实例化即可,用法差不多。
当然除了这两种方法,还有其他的几种方法:LimitOffsetPagination、CursorPagination,感兴趣的小伙伴可以自行去了解。









网友评论