django自带模块实现翻页功能
djago自带模块实现翻页功能(前后端分离写法)
文章目录
- djago自带模块实现翻页功能(前后端分离写法)
- 一、Page的解释
- 二、异常处理
- 三、代码
django中自带了具有翻页功能的库Paginator,下面我们一起学习一下,如何用这个库来写翻页功能
一、Page的解释
我们一般不手动创造Page这个类,而是用**Paginator.page()**来调用
1.类方法
Page.has_next
() 如果有下一页,则返回True
。Page.has_previous
() 如果有上一页,返回True
。Page.has_other_pages
() 如果有上一页或下一页,返回True
。Page.next_page_number
() 返回下一页的页码。如果下一页不存在,抛出InvlidPage
异常。Page.previous_page_number
() 返回上一页的页码。如果上一页不存在,抛出InvalidPage异常。Page.start_index
() 返回当前页上的第一个对象,相对于分页列表的所有对象的序号,从1开始。比如,将五个对象的列表分为每页两个对象,第二页的start_index()
会返回3
。Page.end_index
() 返回当前页上的最后一个对象,相对于分页列表的所有对象的序号,从1开始。 比如,将五个对象的列表分为每页两个对象,第二页的end_index()
会返回4
。
2.类属型
Page.object_list
当前页上所有对象的列表。Page.number
当前页的序号,从1开始。Page.paginator
相关的Paginator
对象。
二、异常处理
EmptyPage
:如果查询的页面超出范围,会抛出EmptyPage
这个错误
PageNotAnInteger
:如果获取的页码不是整数,会抛出PageNotAnInteger
这个错误
三、代码
class TurnThePage(View):def post(self,request):try:pag = request.POST.get('page',None)# defects = Defects.objects.all()defects = Defects.objects.get_queryset().order_by('id')#我这里是把他变成字典了,然后再放到列表里,如果不把他变成列表所传的必须是可序化,所传类型可以是列表,元组,查询集或其他for i in range(len(defects)):res_dict ={'defects_id':defects[i].id,'create_time':defects[i].create_time,'update_time':defects[i].update_time,'is_delete':defects[i].is_delete,'defects_name':defects[i].defects_name,'defects_status':defects[i].defects_status,}dicts_list.append(res_dict)paginator = Paginator(dicts_list,3)#每页有三条数据content = paginator.page(pag)#获取的页码content_list = content.object_list#当前页所有对象列表# if content.has_other_pages() == True:# return JsonResponse({'status':200,'msg':'查询成功','date':content_list})if content.has_next() == False:#检测是否下一页return JsonResponse({'status':200,'msg':'这已经是最后一页','date':content_list})elif content.has_previous() == False:#检测是否是第一页return JsonResponse({'status':200,'msg':'这已经是第一页','date':content_list})else:return JsonResponse({'status':200,'msg':'查询成功','date':content_list})#如果获得页码查出范围就返回第一页内容except EmptyPage:content = paginator.page(1)content_list = content.object_listreturn JsonResponse({'status': 200, 'msg': '你输入的页码查出范围', 'date':content_list})#如果获得的页码不是整数就返回第一页内容except PageNotAnInteger:content = paginator.page(1)content_list = content.object_listreturn JsonResponse({'status': 200, 'msg': '您输入的页码不是整数,请输入整数', 'date': content_list})
django自带模块实现翻页功能相关推荐
- 用 Python selenium爬取股票新闻并存入mysql数据库中带翻页功能demo可下载
用 Python selenium爬取实时股票新闻并存入mysql数据库中 1.分析需求 2.创建表 3.分析需要爬取的网页内容 4.python里面selenium进行爬虫操作 1.添加包 2.连接 ...
- 利用jquery写的从后台获取json数据以表格显示,并带翻页功能.里面包含模式窗口等功能...
利用jquery写的从后台获取json数据,以表格显示,并带翻页功能 里面包含模式窗口等功能 大家看例子就懂了 下面是效果图: http://www.jm47.com/project/3001.asp ...
- html 上下翻页效果代码,原生js实现可以带上下翻页的翻页功能(代码)
本篇文章给大家带来的内容是关于原生js实现可以带上下翻页的翻页功能(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 翻页功能在渲染数据时经常用到,下面是使用原生JS去实现的一个 ...
- python实现二级页面带自动翻页功能,三级页面爬虫苏宁图书。
最近有在做小学期的项目,用scrapy实现爬取图书,下面是我实现的过程. 具体实现功能有:二级页面带自动翻页功能,三级页面的第一页爬取,大小类别的区分. 框架:scrapy 使用到chrome的插件: ...
- springboot:实现分页查询,以及翻页功能
在pom.xml中引入依赖 <!-- 分页查询插件 --><dependency><groupId>com.github.pagehelper</groupI ...
- jmeter实现翻页功能_JMeter定制功能实现
jmeter实现翻页功能 JMeter提供了可在采样器中使用的功能. 在编写复杂的测试计划时,您会觉得JMeter缺少某些方法. 您使用Beanshell脚本定义自己的自定义方法. JMeter调用B ...
- jsp实现上一页下一页翻页功能
前段时间一直忙于期末考试和找实习,好久没写博客了. 这段时间做了个小项目,包含了翻页和富文本编辑器Ueditor的两个知识点,Ueditor玩的还不是很深,打算玩深后再写篇博客. 要实现翻页功能,只需 ...
- qtablewidget翻页禁止_PyQt—QTableWidget实现翻页功能
主要使用QTableWidget中的三个函数实现: verticalScrollBar().setSliderPosition() 设置当前滑动条的位置 verticalScrollBar().max ...
- 用Javascript实现Blogger/Blogspot的传统模板翻页功能
Blogger的API很好很强大,今天,搞定了翻页功能,翻墙找到一个原始的脚本文件blogger_pager_script_v10.js,不过已经不好用了,于是改了一下,现在终于好用了. 基本功能: ...
最新文章
- SecureCRT连接虚拟机
- 台大李宏毅教授的神经网络教程
- 算法--三种方法求连续子数组的最大和
- 远程连接Linux,如何使程序断开连接后继续运行
- Pyinstaller将Python程序打包成EXE(多种模式的打包)
- datatables 增、删、查、改
- iOS进阶之正则表达式
- php+使用go编译,golang如何编译
- Windows server 2012 安装exchange 2013
- RobotStudio关于Ctrl+鼠标左键拖动速度慢的解决方法
- 自动计数报警器c语言程序,自动计数报警器.ppt
- win7查找自己的计算机密码忘记了怎么办,如果我忘记了win7计算机的启动密码,该怎么办...
- 5.flask与数据库
- 7段数码管动态扫描c语言,7段数码管动态扫描原理及其实现方式
- 0基础不用怕,从0到1轻松教你入门Python
- 知乎高赞!怎么自学 python,大概要多久?
- 最新计算机毕业设计选题推荐 - 毕设选题建议
- 快速搞定Jupyter Notebook添加代码自动补全功能
- Windows提权流程及手法
- 智力题_环回到原点问题
热门文章
- 苹果手机连接电脑服务器传文件,还在羡慕苹果电脑隔空操作?windows的这个骚操作,3秒即可传文件...
- 乐符识别matlab,GitHub - Nuullll/music-synthesizer: Homework No.1 for summer course: MATLAB
- 图和两种遍历,Saving James Bond
- ununtun学习系列1--- sudo update与upgrade区别
- [附源码]计算机毕业设计springboot小太阳幼儿园学生管理系统
- 关于Android中使用WebView播放网络视频不能全屏的问题
- 工厂生产管理流程有哪些环节?
- 4.多态(Thinking in java学习四)
- 常见的打印机无法打印问题
- java swing 简单计算器_java用swing写了一个简单的计算器