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使用内置分页器实现分页功能

            </div>
目录
相关文章
|
数据处理 Python
Django的Paginator分页器使用示例
Django的Paginator分页器使用示例
34 0
|
数据处理 Python
Django的Paginator分页器使用示例
Django的Paginator分页器使用示例
84 0
|
前端开发 数据库 Python
|
Web App开发 IDE 开发工具
基于Aptana3+Django开发blog的示例
开发环境:Win XP、Python26、Django1.1   前期需要准备的环境:安装好Python、Django(需要将Scripts目录添加至系统变量中) 1、建立一个Django Project 2、配置IDE的环境 3、选择django的版本号,先查看当前系统中的django版本号(IDE默认选择1.
1068 0
|
2月前
|
监控 安全 应用服务中间件
python中Django入门(四)
python中Django入门(四)
31 0
|
22天前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
【4月更文挑战第9天】本文对比了Python三大Web框架Django、Flask和Pyramid。Django功能全面,适合快速开发,但学习曲线较陡;Flask轻量灵活,易于入门,但默认配置简单,需自行添加功能;Pyramid兼顾灵活性和可扩展性,适合不同规模项目,但社区及资源相对较少。选择框架应考虑项目需求和开发者偏好。
|
3天前
|
运维 监控 Serverless
Serverless 应用引擎产品使用之阿里函数计算中在自定义环境下用debian10运行django,用官方层的python3.9,配置好环境变量后发现自定义层的django找不到了如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
12 3
|
5天前
|
存储 搜索推荐 开发者
django-haystack,具有全文搜索功能的 Python 库!
django-haystack,具有全文搜索功能的 Python 库!
14 0
|
7天前
|
SQL 缓存 数据库
在Python Web开发过程中:数据库与缓存,如何使用ORM(例如Django ORM)执行查询并优化查询性能?
在Python Web开发中,使用ORM如Django ORM能简化数据库操作。为了优化查询性能,可以:选择合适索引,避免N+1查询(利用`select_related`和`prefetch_related`),批量读取数据(`iterator()`),使用缓存,分页查询,适时使用原生SQL,优化数据库配置,定期优化数据库并监控性能。这些策略能提升响应速度和用户体验。
9 0
|
11天前
|
安全 前端开发 中间件
Python面试题:Django Web框架基础与进阶
【4月更文挑战第17天】本文详细梳理了Django面试中常考的基础和进阶问题,包括MTV架构、ORM、数据库迁移、视图模板、中间件、信号、表单验证、用户认证授权等,并指出易错点及规避策略。提供代码示例展示模型和视图的实现,助力开发者在面试中脱颖而出。
35 12