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实现分页 的相关文章

  • 如何向 django 中的用户模型添加自定义权限?

    默认情况下 在 django 中 当安装了 django contrib auth 的情况下运行syncdb时 它会在每个模型上创建默认权限 如 foo can change foo can delete 和 foo can add 要向模
  • Pandas:参差不齐的时间序列的时间加权滚动平均值

    我有一个参差不齐 意思是不规则的频率 时间索引的 DataFrame 我想对其执行时间加权滚动平均值 以维护 DataFrame 的原始索引 假设记录的值在被另一个值取代之前一直有效 实现此目的的一种方法是将参差不齐的 DataFrame
  • 如何从 QLineEdit 动态获取文本? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 怎样才能得到String Text from QlineEdit 我尝试过像这样 myArea getList 功能是获取字符串值并使用字符
  • 为什么我的 jupyter 笔记本中不需要“%matplotlib inline”?

    我只是想理解为什么我的 jupyter 安装不需要我运行 matplotlib inline 根据我读过的所有内容 我应该运行它才能将我的绘图内联到我的 jupyter 笔记本中 但事实是 无论我是否运行 matplotlib inline
  • 如何使用 eval dataframe 方法在自定义函数中返回 numpy 数组或列表?

    我正在使用 python 3 X 我正在尝试使用eval https pandas pydata org pandas docs stable generated pandas eval html pandas eval数据框方法 包括这样
  • Numpy 中矩阵乘以另一个矩阵的每一行

    我有一个大小为 4x4 的齐次变换矩阵和一个大小为 nx3 的轨迹 该轨迹的每一行都是一个向量 我想将齐次变换矩阵乘以轨迹的每一行 下面是代码 append zero column at last trajectory np hstack
  • 在 GUI 中显示 DHT11 的温度 - 自动刷新?

    Python 新手 开始接触 DHT11 温度 湿度传感器 Raspberry Pi 3 和 Python 3 我正在使用标准Adafruit DHT11 库 https github com adafruit Adafruit Pytho
  • Python 比编译的 Haskell 更快?

    我有一个用 Python 和 Haskell 编写的简单脚本 它读取包含 1 000 000 个换行符分隔的整数的文件 将该文件解析为整数列表 对其进行快速排序 然后将其写入已排序的不同文件中 该文件与未排序的文件具有相同的格式 简单的 这
  • 倒计时:01:05

    如何在 Python 中创建一个看起来像 00 00 分钟和秒 的倒计时时钟 它独立成一行 每次减少一actual秒 则应将旧计时器替换为低一秒的新计时器 01 00变成00 59它实际上击中了00 00 这是我开始使用但想要改造的基本计时
  • Python 中的参数命名约定

    对于形式参数密切相关的函数 例如 def add two numbers n1 n2 return n1 n2 def multiply two numbers n1 n2 return n1 n2 如上所示 为两个函数中的参数指定相同的名
  • 在 NLTK Python 的朴素贝叶斯分类器中使用文档长度

    我正在使用 Python 中的 NLTK 构建垃圾邮件过滤器 现在 我检查单词的出现情况并使用 NaiveBayesClassifier 其准确度为 0 98 垃圾邮件的 F 测量值为 0 92 非垃圾邮件的 F 测量值为 0 98 然而
  • 在循环中动态添加方法时的范围问题

    我有一个 API 用于分析我的锻炼数据 我抓取的数据 跑卫 http runkeeper com 的网站 我的主类是一个子类pandas DataFrame 它基本上是表格数据的容器 它支持按列名索引 返回列值的数组 我想根据数据中存在的
  • 转置 pandas 数据框

    如何将列表列表转换为 panda 数据框 它不是以列的形式 而是以行的形式 usr bin env python from random import randrange import pandas data randrange 0 100
  • 在Python中,如何将“datetime”对象转换为秒?

    我有一堆日期时间对象 我想计算每个对象自过去固定时间以来的秒数 例如自 1970 年 1 月 1 日以来 import datetime t datetime datetime 2009 10 21 0 0 这似乎只是区分具有不同日期的日期
  • 如何将当前登录的用户指定为模型字段的默认值?

    我想做这样的事情 class Task models Model created by models ForeignKey User default LoggedInUser blank True null True related nam
  • 何时在 Gevent 中使用线程池

    我注意到 Gevent 有线程池对象 有人可以向我解释何时使用线程池以及何时使用常规池吗 gevent threadpool 和 gevent pool 有什么区别 当你有一段需要很长时间运行 几秒钟 并且不会导致 greenlet 切换的
  • PDB.run - 重新启动 pdb 会话

    我对 python 和 pdb 比较陌生 但我对 gdb 有很多经验 我的问题是 如果我在代码中设置了多个断点 我会想要更改一些内容并重新运行我的调试会话并保留这些断点 但是 在我的 pdb 会话中输入 run 会导致我的会话终止并显示以下
  • 如何在google colaboratory上使用GPU升级tensorflow

    目前google colaboratory使用tensorflow 1 4 1 我想升级到1 5 0版本 每次当我执行时 pip install upgrade tensorflow命令 notebook实例成功将tensorflow版本升
  • Python Flask 不更新图像[重复]

    这个问题在这里已经有答案了 这里有一些关于图像的 Flask 问题 但没有一个能解决我的问题 我有一个应用程序可以创建图像 保存它 然后显示它 一次 它应该多次执行此操作 每次更改图像时 它应该加载新图像 它不是 它只显示与其显示的文件名关
  • 从多个 .csv 文件创建混淆矩阵

    我有很多具有以下格式的 csv 文件 338 800 338 550 339 670 340 600 327 500 301 430 299 350 284 339 284 338 283 335 283 330 283 310 282 3

随机推荐

  • 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