django自带分页器,当我们使用时需要先将其导入之后,使用用法如下

#views.py
#导入Paginator
from django.core.paginator import Paginator,EmptyPage,PageNotAnInteger,InvalidPage
# 在这里我封装了分页器,避免代码太多重复,在需要使用的地方调用即可
def paginator(request,obj_data):"""obj_data是需要分页的数据"""paginator = Paginator(obj_data,13) #创建分页器current_page = request.GET.get("page",1) #获取页面分页器传来的GET参数,此时还是字符串page = int(current_page) #将字符串转化为整数# 固定显示7页,当大于7页时if paginator.num_pages > 7:if page-3 < 1:#当页面输入前三页时,使其分页器只显示前7页不变pageRange = range(1,8)elif page+3 > paginator.num_pages:#当页面处于最后三页时,使分页器只显示最后固定7页pageRange = range(paginator.num_pages-6,paginator.num_pages+1)else:pageRange = range(page-3,page+4)else:pageRange = paginator.page_rangetry:obj_list = paginator.page(page)except PageNotAnInteger:obj_list = paginator.page(1)except InvalidPage:return HttpResponse('error')except EmptyPage:obj_list = paginator.page(paginator.num_pages)return {"pageRange":pageRange,"obj_list":obj_list}

接下来在前端页面将分页器获取并展示,分页器的样式是导入了layui的样式,代码如下

    <div class="page"><div id="pages" class="text-center"><nav aria-label="Page navigation"><ul class="pagination"><li>{% if obj_list.has_previous %} #此处是判断是否有下一页<a class="active" href="?page={{ obj_list.previous_page_number }}">&laquo;</a>{% endif %}</li>{% if obj_list.paginator.page_range|length != 1 %} #判断分页器的长度是否为1页{% for page_num in pageRange %}{% if page_num == obj_list.number %} #判断当前点击是否为当前页,不为当前页则跳转至点击页面<li class="active"><a href="#" style="background-color: cadetblue;">{{ page_num }}</a></li>{% else %}<li><a href="?page={{ page_num }}">{{ page_num }}</a></li>{% endif %}{% endfor %}{% endif %}<li>{% if obj_list.has_next %} #判断是否有下一页<a class="active" href="?page={{ obj_list.next_page_number }}">&raquo;</a>{% endif %}</li></ul></nav></div></div>```

python web:Django分页器的使用相关推荐

  1. python web django base skill

    web框架本质 socket + 业务逻辑框架实现socket tonado node.js 使用WSGI实现socket django flask 自己实现框架思路 wsgiref socket 路 ...

  2. python web开发框架flask_Python Web 开发框架,Flask 与 Django那个更好

    本文把 Flask 和 Django 做一个比对,因为我对这两个 Python Web 框架都有实际的开发经验.希望我可以帮助您选择学习哪个框架,因为学习一个框架可能会非常耗时 -- 当然也很有趣! ...

  3. Python Web实战:Python+Django+MySQL实现基于Web版的增删改查

    本文使用Python Web框架Django连接和操作MySQL数据库学生信息管理系统(SMS),主要包含对学生信息增删改查功能. 1.创建项目(sms) 创建Django项目 django-admi ...

  4. python django web典型模块开发实战下载_Django实战 Python Web典型模块与项目开发

    本书结合样例,介绍 Django 的基础知识.主要模块的开发以及权限管理等高级内容,并且通过图书管理系统.博客系统.车费管理系统 3 个项目的开发实战,使读者既能掌握 Django 的重要开发技术,又 ...

  5. python web flask开发框架_Python Web 开发框架,Flask 与 Django那个更好

    本文把 Flask 和 Django 做一个比对,因为我对这两个 Python Web 框架都有实际的开发经验.希望我可以帮助您选择学习哪个框架,因为学习一个框架可能会非常耗时 -- 当然也很有趣! ...

  6. python web框架互相融合, Pyramid或取代Django

    Django用久了,难免会感觉到自由度不够.不可否认,这种自由度的牺牲能够带来一些好处.比如,一体化的框架(full-stack framework)能够提供全面的solution,你不需要再为cac ...

  7. python django mysql安装_Django+Nginx+uWSGI+Mysql搭建Python Web服务器

    原标题:Django+Nginx+uWSGI+Mysql搭建Python Web服务器 安装的时候全部选择英文,记得以前选择中文的时候安装时出了问题,服务器组件一个不选,Ubuntu安装做的很贴心,基 ...

  8. Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器

    Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器 闲着无聊的时候部署了一个Django项目玩,用vm虚拟机部署的. 准备工作 我使用的系统是Ubuntu16 ...

  9. Eclipse+PyDev+Django+Mysql搭建Python web开发环境

    Eclipse+PyDev+Django+Mysql搭建Python web开发环境 Python的web框架有很多,目前主流的有Django.Tornado.Web.py等,最流行的要属Django ...

最新文章

  1. C#第一个程序Helloworld
  2. 使用ComplexHeatmap包绘制个性化热图
  3. 即时通信是机遇也是挑战
  4. 只能在执行 Render() 的过程中调用 RegisterForEventValidation
  5. sdut 3361迷宫探索dfs
  6. sdut 2107 DFS
  7. android git提交整个项目_使用子模块和子树来管理 Git 项目 | Linux 中国
  8. (软件工程复习核心重点)第八章面向对象方法学-第四节:面向对象建模之动态模型和功能模型
  9. 使用ROW_NUMBER()查询:列名 'RowNumber' 无效。
  10. 实例讲解统计学基础知识(1):统计学基础概念
  11. ElasticSearch 7.10.1 集群搭建
  12. 雷军为什么要挖常程?
  13. c语言开头的作用是什么,C语言为什么开头都加;#includestdio.h有什么作用?
  14. (二)、JavaScript页面访问记录(History 对象)
  15. maya python教程下载_[转载]技术教程-MayaPython教程四之实战篇
  16. Promodel®模拟和优化套装加速企业绩效改善 功能介绍
  17. 编程5分钟,命名2小时:聊聊命名规范!
  18. 说说线程的生命周期和状态是如何运行
  19. 在微信内置浏览器 ios video再次点击事件没反应 video有些视频上下出现空白原因
  20. CP/M:被遗忘的精灵

热门文章

  1. PHP面向对象和面向过程
  2. 三个审稿人,两个同意,一个不同意,最后被录用希望大吗?
  3. 《隐动力》之:伟人脱险记冯学荣读史新浪博客
  4. 计算机在网站设计中的应用,计算机网站设计在教学辅助管理中的应用
  5. xps9360换硬盘_戴尔新一代XPS13-9360的升级真的划算吗?
  6. 华为手机灵敏度设置_华为手机还可以这样玩,让你灵敏度提高,你服不服!
  7. mysql网站如何搭建_如何搭建一个自己的网站(绝对详细~)
  8. 【点云处理】Lidar点云障碍物形状估计(2)
  9. 《阵列信号处理及MATLAB实现》信源和噪声模型、阵列天线统计模型
  10. WIN10+RTX 2080Ti深度学习平台搭建,VS2019+CUDA11.0+cuDNN8.0+python3.8.7+Tensorflow2.4.0+Keras,以及各种科学包