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自带模块实现翻页功能相关推荐

  1. 用 Python selenium爬取股票新闻并存入mysql数据库中带翻页功能demo可下载

    用 Python selenium爬取实时股票新闻并存入mysql数据库中 1.分析需求 2.创建表 3.分析需要爬取的网页内容 4.python里面selenium进行爬虫操作 1.添加包 2.连接 ...

  2. 利用jquery写的从后台获取json数据以表格显示,并带翻页功能.里面包含模式窗口等功能...

    利用jquery写的从后台获取json数据,以表格显示,并带翻页功能 里面包含模式窗口等功能 大家看例子就懂了 下面是效果图: http://www.jm47.com/project/3001.asp ...

  3. html 上下翻页效果代码,原生js实现可以带上下翻页的翻页功能(代码)

    本篇文章给大家带来的内容是关于原生js实现可以带上下翻页的翻页功能(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 翻页功能在渲染数据时经常用到,下面是使用原生JS去实现的一个 ...

  4. python实现二级页面带自动翻页功能,三级页面爬虫苏宁图书。

    最近有在做小学期的项目,用scrapy实现爬取图书,下面是我实现的过程. 具体实现功能有:二级页面带自动翻页功能,三级页面的第一页爬取,大小类别的区分. 框架:scrapy 使用到chrome的插件: ...

  5. springboot:实现分页查询,以及翻页功能

    在pom.xml中引入依赖 <!-- 分页查询插件 --><dependency><groupId>com.github.pagehelper</groupI ...

  6. jmeter实现翻页功能_JMeter定制功能实现

    jmeter实现翻页功能 JMeter提供了可在采样器中使用的功能. 在编写复杂的测试计划时,您会觉得JMeter缺少某些方法. 您使用Beanshell脚本定义自己的自定义方法. JMeter调用B ...

  7. jsp实现上一页下一页翻页功能

    前段时间一直忙于期末考试和找实习,好久没写博客了. 这段时间做了个小项目,包含了翻页和富文本编辑器Ueditor的两个知识点,Ueditor玩的还不是很深,打算玩深后再写篇博客. 要实现翻页功能,只需 ...

  8. qtablewidget翻页禁止_PyQt—QTableWidget实现翻页功能

    主要使用QTableWidget中的三个函数实现: verticalScrollBar().setSliderPosition() 设置当前滑动条的位置 verticalScrollBar().max ...

  9. 用Javascript实现Blogger/Blogspot的传统模板翻页功能

    Blogger的API很好很强大,今天,搞定了翻页功能,翻墙找到一个原始的脚本文件blogger_pager_script_v10.js,不过已经不好用了,于是改了一下,现在终于好用了. 基本功能: ...

最新文章

  1. SecureCRT连接虚拟机
  2. 台大李宏毅教授的神经网络教程
  3. 算法--三种方法求连续子数组的最大和
  4. 远程连接Linux,如何使程序断开连接后继续运行
  5. Pyinstaller将Python程序打包成EXE(多种模式的打包)
  6. datatables 增、删、查、改
  7. iOS进阶之正则表达式
  8. php+使用go编译,golang如何编译
  9. Windows server 2012 安装exchange 2013
  10. RobotStudio关于Ctrl+鼠标左键拖动速度慢的解决方法
  11. 自动计数报警器c语言程序,自动计数报警器.ppt
  12. win7查找自己的计算机密码忘记了怎么办,如果我忘记了win7计算机的启动密码,该怎么办...
  13. 5.flask与数据库
  14. 7段数码管动态扫描c语言,7段数码管动态扫描原理及其实现方式
  15. 0基础不用怕,从0到1轻松教你入门Python
  16. 知乎高赞!怎么自学 python,大概要多久?
  17. 最新计算机毕业设计选题推荐 - 毕设选题建议
  18. 快速搞定Jupyter Notebook添加代码自动补全功能
  19. Windows提权流程及手法
  20. 智力题_环回到原点问题

热门文章

  1. 苹果手机连接电脑服务器传文件,还在羡慕苹果电脑隔空操作?windows的这个骚操作,3秒即可传文件...
  2. 乐符识别matlab,GitHub - Nuullll/music-synthesizer: Homework No.1 for summer course: MATLAB
  3. 图和两种遍历,Saving James Bond
  4. ununtun学习系列1--- sudo update与upgrade区别
  5. [附源码]计算机毕业设计springboot小太阳幼儿园学生管理系统
  6. 关于Android中使用WebView播放网络视频不能全屏的问题
  7. 工厂生产管理流程有哪些环节?
  8. 4.多态(Thinking in java学习四)
  9. 常见的打印机无法打印问题
  10. java swing 简单计算器_java用swing写了一个简单的计算器