python实现分页

2023-11-16

使用python实现分页功能。

        当我们有大量数据需要展示时,需要对数据进行分页展示。这时就用到了分页功能,分页使得数据更好的展示给用户。

        当访问页码数大于总页码数的时候。展示第一页内容

import math

content = [
        {"name":"aa","age":17},
        {"name":"aa2","age":17},
        {"name":"aa3","age":19},
        {"name":"aa4","age":16},
        {"name":"aa5","age":11},
        {"name":"aa6","age":12},
        {"name":"aa7","age":13},
        {"name":"aa8","age":14}
]


class Pagination(object):

    def __init__(self, data_list, page_index, page_size):
        """
        初始化分页数据
        :param data_list: 数据列表
        :param page_index: 当前要查看的列表页
        :param page_size: 每页默认显式几条数据
        """
        self.data_list = data_list
        self.page_index = page_index
        self.page_size = page_size

    @property
    def start(self):
        return (self.page_index - 1) * self.page_size

    @property
    def end(self):
        return self.page_index * self.page_size

    @property
    def page_num(self):
        return math.ceil(len(self.data_list) / self.page_size)

    def show(self):
        """ 切片展示数据 """
        result = self.data_list[self.start:self.end]
        if result and self.page_index <= self.page_num:  # 正常分页
            return result, self.page_index
        else:
            self.page_index = 1
            result = self.data_list[self.start:self.end]
            return result


if __name__ == '__main__':
    p = Pagination(content, page_index=2, page_size=4)
    content, page_index = p.show()
    print(content)
    print(page_index)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python实现分页 的相关文章

随机推荐

  • ajax核心代码提交,emlog评论ajax提交的两种方法

    推荐使用方法二 不需要修改源代码 通过正则过滤出系统的错误消息 方法一 需要修改源代码 1 include lib function base php中 function show 404 page 函数上方添加函数 显示json信息 pa
  • TFTP协议下载实验

    include
  • java.lang.ClassNotFoundException: Didn‘t find class “###“ on path: DexPathList

    项目场景 例如 项目场景 使用AS开发时 项目中引用了封装的aar或者第三方aar文件 并且项目使用了AndroidX时APP闪退问题 报错信息如下 报错信息截图大概如下 问题描述 Caused by java lang ClassNotF
  • 数组和链表的区别

    数组和链表的区别以及各自的优缺点 1 数组和链表的区别 1 数组的元素个数是固定的 而链表的结点个数可按需要增减 2 数组元素的存储单元在定义时分配 链表节点的存储单元在执行时动态向系统申请 3 数组的元素顺序关系由元素在数组中的位置 即下
  • cadence 批量一次性修改title 页码标题等

    1 在Cadence中 选中dsn 菜单选择edit gt browse gt titleblock 弹出此框时 一般选择 Use instances 2 弹出的titleblock窗口中 鼠标点击第一个 滑动到最后一个 按住 shift
  • ffmpeg webm 提取_使用ffmpeg将webm转换为mp4

    当我尝试将webm文件转换为mp4时 输出非常不连贯 并且似乎ffmpeg丢弃了许多帧 我使用以下命令进行转换 ffmpeg i movie webm movie mp4 ffmpeg i movie webm vcodec libx264
  • MySql-基础查询与排序

    基础查询与排序 2 1 SELECT语句基础 从表中选取数据 SELECT语句 从表中选取数据时需要使用SELECT语句 也就是只从表中选出 SELECT 必要数据的意思 通过SELECT语句查询并选取出必要数据的过程称为匹配查询或查询 q
  • [深入研究4G/5G/6G专题-54]: L3信令控制-3-软件功能与流程的切分-CU-UP网元的信令

    目录 第1章 软件架构 第2章 5G CP NRT 非实时 2 1 功能概述 2 2 功能细化 2 3 流程 2 4
  • git:将代码从一个分支转移到另一个分支

    参考 http www ruanyifeng com blog 2020 04 git cherry pick html 总结 git cherry pick commit的hash值 会自动commit git cherry pick n
  • opencv-python 中对PPT图象进行图象文字增强(重制含原版)

    话不多说直接上代码 这是原来的代码 import cv2 import numpy as np img cv2 imread D picture dabo goal png img cv2 resize img None fx 0 5 fy
  • C# 的继承(学习心得 19)

    继承允许我们根据一个类来定义另一个类 这使得创建和维护应用程序变得更容易 利于重用代码和节省开发时间 已有的类被称为的 基类 这个新的类被称为 派生类 继承的思想实现了 属于 IS A 关系 例如 哺乳动物 属于 IS A 动物 狗 属于
  • Windows下Ceres库的配置 包含四个依赖库Eigen、gflags、glad、suitesparse-metis-for-windows的配置

    一 首先Windows下Ceres库的配置过程中Eigen gflags glad是必须的 suitesparse虽不是必须但非常影响性能故也可以说是必须的 二 整个配置过程主要参考这一博客博主猪蹄97关于ceres库的配置 侵删 故读者在
  • ubuntu安装mysql并使用datagrip远程连接

    1 安装client sudo apt get install mysql server 2 mysql8默认不开启用户root 默认用户是debian sys maint 其默认密码是存在 etc mysql debian cnf sud
  • 构造函数调用顺序及初始化列表

    设有3个类A B C 其中A派生B B派生C 即 C gt B gt A 定义一个C对象 则 进入C对象的构造函数 检查C构造函数的初始化列表 看其中是否手动调用基类B构造函数 无论是否手动 都立即调用基类B构造函数 不同的是手动调用时 可
  • 12306验证码具体坐标

    如图 整张图片的大小是 293 190 单位 像素 包括下述 锦旗二字相对大图的范围是 117 0 258 29 长 141 宽 29 第一排第一张小图片的范围是 5 41 72 108 长 67 宽 67 间距都是5px 第二排第一张小图
  • Excel VBA 打开对话框,获取文件夹路径

    Excel 打开对话框 获取文件夹路径 Window 参照 選択 Item 名 取得 Public Function GetFolderName ByVal DialogType As MsoFileDialogType As String
  • MCCMNC列表

    http blog chinaunix net uid 20484604 id 1941290 html https clients txtnation com hc en us articles 218719768 MCCMNC mobi
  • ODrive踩坑(五)ODrive驱动云台电机、低齿槽转矩电机实现高精度定位

    前几篇介绍了ODrive在Windows下的使用环境搭建 驱动3508 5008无刷电机 TLE5012B AS5047P的ABI编码器配置 AS5047P SPI绝对值编码器配置 ODrive踩坑 一 windows下使用环境的搭建 od
  • DOPI EV200开发板开箱组装

    随着网友们 连续收到开发板 我再次开贴 分享下如何组装 插上配件 主板接口再次复习下 各位成员 再次认识下 主板链接FPC软排线的方向 Sensor链接 FPC软排线的方向 其他配件链接 这里特别强调下 WiFi请插到SDIO1上 如果插到
  • python实现分页

    使用python实现分页功能 当我们有大量数据需要展示时 需要对数据进行分页展示 这时就用到了分页功能 分页使得数据更好的展示给用户 当访问页码数大于总页码数的时候 展示第一页内容 import math content name aa a