Django的Paginator分页器使用示例

简介: Django的Paginator分页器使用示例

代码示例

# -*- coding: utf-8 -*-
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
book_list = ["语文", "数学", "英语", "生物", "音乐", "体育", "美术"]
paginator = Paginator(book_list, 2)  # 实例化出一个对象,每页两个元素
# 属性
print("count:", paginator.count)  # 数据总数 7
print("num_pages", paginator.num_pages)  # 总页数 4 = 7/2
print("page_range", paginator.page_range)  # 页码的列表 range(1, 5) = 1, 2, 3, 4
# 方法
page1 = paginator.page(1)  # 第1页的page对象
for i in page1:  # 遍历第1页的所有数据对象 语文 数学
    print(i)
print(page1.object_list)  # 第1页的所有数据  ['语文', '数学']
print(page1.has_next())  # 是否有下一页 True
print(page1.next_page_number())  # 下一页的页码 2
print(page1.has_previous())  # 是否有上一页  False
# print(page1.previous_page_number())  # 上一页的页码  EmptyPage
# 异常
page12 = paginator.get_page(12)  # 超过最大值不会报错,取最大页码
print(page12)
# <Page 4 of 4>
# page = paginator.page(12)  # error:EmptyPage
pagez = paginator.get_page("z")  # 传递非整数不会报错,取最小页码 第一页
print(pagez)
# <Page 1 of 4>
# page=paginator.page("z")   # error:PageNotAnInteger

如果配合model使用效率会很低,不推荐,适合小量数据处理

参考

Django的分页器实例(paginator)

Django使用内置分页器实现分页功能

相关文章
|
8月前
|
JavaScript 数据库 Python
django实现增删改查分页接口
django实现增删改查分页接口
|
5月前
|
前端开发 关系型数据库 Python
Django入门到放弃之分页器
Django入门到放弃之分页器
|
5月前
|
安全 中间件 项目管理
Django 后端架构开发:分页器到中间件开发
Django 后端架构开发:分页器到中间件开发
51 1
|
7月前
|
JSON 搜索推荐 数据库
Django REST framework数据展示技巧:分页、过滤与搜索的实用配置与实践
Django REST framework数据展示技巧:分页、过滤与搜索的实用配置与实践
|
7月前
|
数据安全/隐私保护 Python
必知的技术知识:django自定义分页器
必知的技术知识:django自定义分页器
|
7月前
|
前端开发 数据库 Python
Python Django项目下的分页和筛选查询
在Django中实现分页功能,视图函数通过`Paginator`处理数据,每页显示10条记录。URL配置支持带参数和不带参数的分页请求。前端模板使用for循环展示分页数据,包括商品信息和状态按钮,并利用分页组件导航。筛选查询视图根据GET请求的`state`参数过滤上架或下架产品,同样实现分页功能。前端添加状态选择下拉框,分页链接携带查询参数`state`确保筛选状态在翻页时保持。
|
Python
28 Django高级- 分页
28 Django高级- 分页
54 0
|
2月前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
208 45
|
2月前
|
安全 数据库 开发者
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第26天】本文详细介绍了如何在Django框架下进行全栈开发,包括环境安装与配置、创建项目和应用、定义模型类、运行数据库迁移、创建视图和URL映射、编写模板以及启动开发服务器等步骤,并通过示例代码展示了具体实现过程。
75 2
|
4月前
|
机器学习/深度学习 人工智能 算法
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
159 22
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面