Django 使用Paginator分页
2024-09-29 12:44:10
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
subclass_s = models.subclass_details.objects.all() #查询数据获取一个列表
paginator = Paginator(subclass_s,2) #使用Paginator对列表进行分页,我每页行数设置是2
page = request.GET.get('page') #网页使用列如127.0.0.1:8000?page=1 获取请求的页数
try:
page = int(page) #我设置了用户在前端输入页码跳转,保证用户输入的是数字
except:
page = 1 #输入非数字跳转第一页
if page == None : # 没有输入跳转第一页
page = 1 try:
subclass_s = paginator.page(page) #这里是进行跳转的操作
except PageNotAnInteger:
subclass_s = paginator.page(1) #如果输入是错误的跳转第一页
except EmptyPage: #如果输入的超出页码数跳转最后一页
subclass_s = paginator.page(paginator.num_pages)
return render(request,'xproject/subclass_details.html',locals())
Paginator的一些操作方法
subclass_s = models.subclass.objects.all()
s = Paginator(subclass_s,10) s.count #总对象,即列表里面的对象总数 s.num_pages #总页码数 p.page(num) #获取第num页 p.page(num).object_list #获取第num页里面的数据并以列表的形式显示 p.page(num).has_next() #判断num页当前是否有下一页 p.page(num).hhas_previous() #判断num页当前是否有上一页 p.page(num).has_other_pages() #判断num页是否有其他页 p.page(num).next_page_number() #获取下一页的页码 p.page(num).previous_page_number() #获取上一页的页码 p.page(num).start_index() #num页内从一开始数第一个对象 p.page(num).end_index() #num页内从一开始数最后一个对象
最新文章
- QML 从无到有 3 (自动更新)
- 我的CS考研路
- Shell入门教程:流程控制(6)while 循环
- Linux下文件的权限
- c语言libcurl 使用实例get/post方法+c语言字符串处理
- 单极型ADC如何测量负电压?
- 手机下的ev.pageX无效
- shadow dom 隔离代码 封装
- iOS常见控件的基本使用
- 六十一、linux 编程—— 守护进程
- JVM垃圾回收
- CSS 图像精灵
- expect脚本实现ssh自动登录
- Linux常用基本命令:三剑客命令之-awk数组用法
- laravel中常用的获取路径的函数
- PHP获取目录和文件的方法
- python - while语句/pass/死循环/break/continue/while...else...
- IoC控制反转和DI依赖注入
- 微博轻量级RPC框架Motan正式开源:支撑千亿调用
- $《第一行代码:Android》读书笔记——第8章 通知和手机多媒体
热门文章
- Android应用资源---动画资源(Animation Resources)
- html5--3.6 input元素(5)
- hdu-5744 Keep On Movin(思维)
- Python: PS 图像调整--饱和度调整
- git 错误 Reinitialized existing Git repository in /**/***/ 和refusing to merge unrelated histories
- HDU2147 kiki's game (SG表找规律)
- FFmpeg常用命令 (二)
- ubuntu16.04 + CUDA 9.0 + opencv3.3 安装
- hihoCoder2月29日(字符串模拟)
- 将DotNetBar添加到工具箱中