django基础知识之分页:
分页
- Django提供了一些类实现管理数据分页,这些类位于django/core/paginator.py中
Paginator对象
- Paginator(列表,int):返回分页对象,参数为列表数据,每面数据的条数
属性
- count:对象总数
- num_pages:页面总数
- page_range:页码列表,从1开始,例如[1, 2, 3, 4]
方法
- page(num):下标以1开始,如果提供的页码不存在,抛出InvalidPage异常
异常exception
- InvalidPage:当向page()传入一个无效的页码时抛出
- PageNotAnInteger:当向page()传入一个不是整数的值时抛出
- EmptyPage:当向page()提供一个有效值,但是那个页面上没有任何对象时抛出
Page对象
创建对象
- Paginator对象的page()方法返回Page对象,不需要手动构造
属性
- object_list:当前页上所有对象的列表
- number:当前页的序号,从1开始
- paginator:当前page对象相关的Paginator对象
方法
- has_next():如果有下一页返回True
- has_previous():如果有上一页返回True
- has_other_pages():如果有上一页或下一页返回True
- next_page_number():返回下一页的页码,如果下一页不存在,抛出InvalidPage异常
- previous_page_number():返回上一页的页码,如果上一页不存在,抛出InvalidPage异常
- len():返回当前页面对象的个数
- 迭代页面对象:访问当前页面中的每个对象
示例
创建视图pagTest
from django.core.paginator import Paginatordef pagTest(request, pIndex):list1 = AreaInfo.objects.filter(aParent__isnull=True)p = Paginator(list1, 10)if pIndex == '':pIndex = '1'pIndex = int(pIndex)list2 = p.page(pIndex)plist = p.page_rangereturn render(request, 'booktest/pagTest.html', {'list': list2, 'plist': plist, 'pIndex': pIndex})
配置url
url(r'^pag(?P<pIndex>[0-9]*)/$', views.pagTest, name='pagTest'),
定义模板pagTest.html
<!DOCTYPE html>
<html>
<head><title></title>
</head>
<body>
<ul>
{%for area in list%}
<li>{{area.id}}--{{area.atitle}}</li>
{%endfor%}
</ul>{%for pindex in plist%}
{%if pIndex == pindex%}
{{pindex}}
{%else%}
<a href="/pag{{pindex}}/">{{pindex}}</a>
{%endif%}
{%endfor%}
</body>
</html>
转载于:https://www.cnblogs.com/huwei934/p/6978727.html
django基础知识之分页:相关推荐
- python开发框架——Django基础知识(九)
hello!我是小J,每天一个小知识,一起学python,让技术无限发散. 模型类--增删改查 1. 演示工具shell的使用 2. 添加数据 3. 查询数据 3.1 基础条件查询 3.2 过滤查 ...
- python开发框架——Django基础知识(十一)
hello!我是小J,每天一个小知识,一起学python,让技术无限发散. DRF和Web 1. web应用模式 1.1 前后端不分离 1.2 前后端分离 2. 使用Django开发REST接口 ...
- python开发框架——Django基础知识(七)
hello!我是小J,每天一个小知识,一起学python,让技术无限发散. 模板 1. 模板配置 1.1 模板简介 1.2 模板的使用流程 1.3 模板配置 2. 模板使用 2.1 变量 2.2 ...
- Django基础知识
Django:一个开源的Web应用框架,由python写成 MVC:一种软件设计的典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑代码聚集到一个部件里面,在改进和个性化定制界面及用户 ...
- django 基础知识 ~ forms详解
一 简介 今天咱们来聊聊 django强大的表单功能 二 分类 1 ModelFrom ModelFrom只需要声明指定字段,其他的选择继承 2 Froms (我们今天主要推这个) ...
- Django基础知识MTV
Django简介 Django是使用Python编写的一个开源Web框架.可以用它来快速搭建一个高性能的网站. Django也是一个MVC框架.但是在Django中,控制器接受用户输入的部分由框架自行 ...
- django基础知识~RBAC实验部分代码记录
一 简介:小小的记录下具体的思路和相关代码 二 具体阐述 # setting处理逻辑 PERMISSION_SESSION_KEY = 'permissions' #这里填写需要存取权限的sessio ...
- django基础知识之验证码:
验证码 在用户注册.登录页面,为了防止暴力请求,可以加入验证码功能,如果验证码错误,则不需要继续处理,可以减轻一些服务器的压力 使用验证码也是一种有效的防止crsf的方法 验证码效果如下图: 验证码视 ...
- Django基础知识学习
1.Django是什么 Django 是一个由 Python 编写的开放源代码的 Web 应用程序开发框架.它采用了 MVT 软件设计模式,即 Model 模型.View 视图和 Templates ...
最新文章
- ip classles
- 深入理解ReentrantLock
- awk学习笔记(10) - 数组
- [原创]前端工作了一段时间经验总结,献给做前端的同学
- git 删除本地仓库
- python 批量打印文档_使用python将Excel数据填充Word模板并生成Word
- MVVM下listbox默认显示最后一行
- JS_模拟广告栏跟随效果
- 通过adb查看当前页面中显示的窗口Activity名称
- npm 代理的设置和取消
- 计算机服务器可以开游戏吗,想买台小服务器做个人电脑,玩游戏可以吗
- typora+gitee图床
- linux误删分区表,恢复被误删的Linux分区表
- git rebase操作
- [导入]PSP 经典游戏合集
- 怎样查看ie浏览器的版本号
- 牛腩之CSS核心内容
- 定向光流直方图是什么_OpenCV计算机视觉编程攻略(第3版)
- JavaScript-0818
- 怎样实现模块间的参数传递?急急急!!!!!!!!!
热门文章
- 90页Numpy精华、算法刷题44天等内容整理
- 如何改造UE4用于赛璐璐3D卡渲?这里有一份日本大厂的实操分享
- Java中级工程师知识图谱
- 如果 “ 2X ”的补码是“ 90H ”,那么 X 的真值是( )。
- SQL基础【九、Update】
- show slave status\G中的Read_Master_Log_Pos和Relay_Log_Pos的(大小)关系
- oracle 触发器的种类和触发事件
- nodejs内存溢出
- 题解报告:hdu 1257 最少拦截系统(贪心)
- 微信公众号获取acess_token并存储(php)