Django_rest_framework分页
分页基本流程及配置
1、基于LimitOffsetPagination做分页,根据配置
from rest_framework.pagination import LimitOffsetPagination
class P1(LimitOffsetPagination):
max_limit = 3
default_limit = 2
limit_query_param = 'limit'
offset_query_param = 'offset'
class IndexView(APIView):
parser_classes = [JSONParser, FormParser, MultiPartParser]
def get(self, request):
# parser_classes = [JSONParser, FormParser]
user_list = models.UserInfo.objects.all()
# 实例化一个分页对象,并根据分页的配置获取数据列表
p1 = P1()
page_user_list = p1.paginate_queryset(queryset=user_list, request=request, view=self)
ser = UserInfoSerializer(instance=page_user_list, many=True)
# return Response(ser.data) # 不含上一页和下一页
return p1.get_paginated_response(ser.data) # 含上一页和下一页,详见下图
2、基于PageNumberPagination的分页
class P2(PageNumberPagination):
# 每页显示的数据条数
max_page_size = 5
page_size = 3
page_size_query_param = 'size'
# 页码关键字
page_query_param = 'page'
# 视图部分和基于LimitOffsetPagination是样的,只需要把P1改成P2就可以了,页面显示效果如下图所示
3、基于CurorPagination的分页
class P3(CursorPagination):
cursor_query_param = 'cursor'
page_size = 2
ordering = 'id'
# 视图部分和基于LimitOffsetPagination是样的,只需要把P1改成P3就可以了,而且,页码的也是不是明文,有助于防止恶意一下子请求过多数据。页面显示效果如下图所示,
Django_rest_framework分页的更多相关文章
- 记一次SQLServer的分页优化兼谈谈使用Row_Number()分页存在的问题
最近有项目反应,在服务器CPU使用较高的时候,我们的事件查询页面非常的慢,查询几条记录竟然要4分钟甚至更长,而且在翻第二页的时候也是要这么多的时间,这肯定是不能接受的,也是让现场用SQLServerP ...
- js实现前端分页页码管理
用JS实现前端分页页码管理,可以很美观的区分页码显示(这也是参考大多数网站的分页页码展示),能够有很好的用户体验,这也是有业务需要就写了一下,还是新手,经验不足,欢迎指出批评! 首先先看效果图: 这是 ...
- JdbcTemplate+PageImpl实现多表分页查询
一.基础实体 @MappedSuperclass public abstract class AbsIdEntity implements Serializable { private static ...
- MVC如何使用开源分页插件shenniu.pager.js
最近比较忙,前期忙公司手机端接口项目,各种开发+调试+发布现在几乎上线无问题了:虽然公司项目忙不过在期间抽空做了两件个人觉得有意义的事情,一者使用aspnetcore开发了个人线上项目(要说线上其实只 ...
- NET Core-TagHelper实现分页标签
这里将要和大家分享的是学习总结使用TagHelper实现分页标签,之前分享过一篇使用HtmlHelper扩展了一个分页写法地址可以点击这里http://www.cnblogs.com/wangrudo ...
- 套用JQuery EasyUI列表显示数据、分页、查询
声明,本博客从csdn搬到cnblogs博客园了,以前的csdn不再更新,朋友们可以到这儿来找我的文章,更多的文章会发表,谢谢关注! 有时候闲的无聊,看到extjs那么肥大,真想把自己的项目改了,最近 ...
- php实现的分页类
php分页类文件: <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 pr ...
- C#关于分页显示
---<PS:本人菜鸟,大手子还请高台贵手> 以下是我今天在做分页时所遇到的一个分页显示问题,使用拼写SQL的方式写的,同类型可参考哦~ ------------------------- ...
- JAVA 分页工具类及其使用
Pager.java package pers.kangxu.datautils.common; import java.io.Serializable; import java.util.List; ...
随机推荐
- SSIM (Structural SIMilarity) 结构相似性
公式基于样本x和 y 之间的三个比较衡量:亮度 (luminance).对比度 (contrast) 和结构 (structure). 每次计算的时候都从图片上取一个 N*N的窗口,然后不断滑动窗口进 ...
- CentOS 7 配置 nginx php-fpm 详细教程
CentOS 7 配置 Nginx 的步骤如下: 首先更新 yum,没有安装 yum 的自行安装 yum update 1. 安装 Nginx yum install nginx 开启 Nginx 并 ...
- 美国gfs数据介绍和解析
最近有个项目需要开发个气象信息API,可以通过经纬度查找未来几天的气象信息. 经过几天的研究,现在简单总结一下. 1.数据来源数据来源采自美国国家环境预报中心的GFS(全球预报系统),该系统每天发布4 ...
- pytorch torch.nn 实现上采样——nn.Upsample
Vision layers 1)Upsample CLASS torch.nn.Upsample(size=None, scale_factor=None, mode='nearest', align ...
- java获取当前路径的方法
1.System.getProperty("user.dir") 函数获取当前路径 // 获取当前路径方式1 System.out.println(System.getProper ...
- RabbitMQ 入门教程(PHP版) 延迟队列,延迟任务
延迟任务应用场景 场景一:物联网系统经常会遇到向终端下发命令,如果命令一段时间没有应答,就需要设置成超时. 场景二:订单下单之后30分钟后,如果用户没有付钱,则系统自动取消订单. 场景三:过1分钟给新 ...
- 通过直方图进行PCA准备
import graphviz import mglearn from mpl_toolkits.mplot3d import Axes3D from sklearn.datasets import ...
- 微信API V3 RESTFUL
{"code":"SIGN_ERROR","message":"商户未设置加密的密钥,请登录商户平台操作!请参考http://kf ...
- Intellij IDEA Debug 多模块下断点目标源问题
Ctrl+Alt+S进入Settings,选择Debugger->show alternative source switcher 勾选,开启显示替代源选择器 由于项目工程存放了多个应用模块,包 ...
- Vue + ElementUI的电商管理系统实例02 主页
1.打开Element网站,找到主页需要的布局格式 修改Home.vue: <template> <el-container class="home-container&q ...