自带分页功能 from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger

  • [x] views.py
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
def pageinator(request, Iterable, per_page, m):# django原生pageinator分页# Iterable 可迭代对象# per_page 每页多少个# m 小于等于这个数量的合并到上一页paginator = Paginator(Iterable, per_page, m)  page = request.GET.get('page')try:Iterable = paginator.page(page)except PageNotAnInteger:# If page is not an integer, deliver first page.Iterable = paginator.page(1)except EmptyPage:# If page is out of range (e.g. 9999), deliver last page of results.Iterable = paginator.page(paginator.num_pages)return Iterableclass MyOrderView(View):my_order = OrderMessage.objects.all()orders = orders = pageinator(request, my_order, 5, 3)return render(request, 'order.html', locals())
  • [x] 前端页面order.html
    <div class="pagination" style="text-align:center;display: block;"><span class="step-links">{% if orders.has_previous %}<a href="?page={{ orders.previous_page_number }}">上一页</a>{% endif %}{% for pg in orders.paginator.page_range %}{% if orders.number == pg %}<span class="active"><a href="?page={{ pg }}">{{ pg }}</a></span>{% else %}<span class=""><a href="?page={{ pg }}">{{ pg }}</a></span>{% endif %}{% endfor %}{% if orders.has_next %}<a href="?page={{ orders.next_page_number }}">下一页</a>{% endif %}</span></div>

  • 第三方模块django-pure-pagination实现分页

  • [x] views.py
from pure_pagination import Paginator, EmptyPage, PageNotAnIntegerdef pure_page(request, objects, per_page=7):# django-pure-pagination模块p = Paginator(objects, per_page, request=request)try:page = request.GET.get('page', 1)if not page:page = 1except PageNotAnInteger:page = 1except EmptyPage:page = p.num_pagesobj = p.page(page)return objclass MyOrderView(View):my_order = OrderMessage.objects.all()orders = pure_page(request, orders, 10)return render(request, 'order.html', locals())
  • [x] order.html, 不能直接用orders来迭代, 要用orders.object_list

{% for m in orders.object_list %}{{ m.xxx }}
{% endfor %}<!------ 分页 ------>
{% if orders %}<div class="pagination" style="text-align: center;display: block;"><span class="step-links">{% if orders.has_previous %}<a href="?{{ orders.previous_page_number.querystring }}" class="prev"style="margin: 0 10px;">上一页</a>{% endif %}{% for page in orders.pages %}{% if page %}{% ifequal page orders.number %}<span class="active"><a href="javascript:void(0)"style="margin: 0 5px;display: inline-block;padding: 3px 9px;color: #fff;border: #aae 1px solid;background: #26b;">{{ page }}</a></span>{% else %}<span><a href="?{{ page.querystring }}" class="page"style="margin: 0 5px;display: inline-block;padding: 3px 9px;color: #15b;border: #aae 1px solid;">{{ page }}</a></span>{% endifequal %}{% else %}<span><a href="">...</a></span>{% endif %}{% endfor %}{% if orders.has_next %}<a href="?{{ orders.next_page_number.querystring }}" style="margin: 0 10px;">下一页</a>{% endif %}</span></div>
{% else %}<div class="noMessage order_noMessage" style="display: block;"><p>没有查询到符合条件的记录!</p></div>
{% endif %}

转载于:https://www.cnblogs.com/belic/p/8092888.html

django -- 分页功能相关推荐

  1. django分页功能

    采用django自带的Paginator功能 from django.core.paginator import Paginator food = foodInfo.objects.filter(fo ...

  2. django分页功能 views与templates

    分页 Django提供了数据分页的类,这些类被定义在django/core/paginator.py中 对象Paginator用于对列进行一页n条数据的分页运算 对象Page用于表示第m页的数据 Pa ...

  3. django 分页功能

    一.安装django-prue-pagination 在pycharm中 File==>settings==>Project:项目名===>Project Interpreter== ...

  4. Django实现分页功能

    在本节中,我们将介绍 Django 为我们提供的高级模块,通过高级模块的学习,你会感受到 Django 的易用性如此之强,但是同时它又很复杂,所以在学习 Django 这样的重度框架的时候,我们一定要 ...

  5. django自带的分页功能

    django自带的分页功能 django中自带的分页功能有缺陷,但是也是一种思路,所以在下做一个整理,方便以后使用,还有服务各位小伙伴. django视图部分的代码.(注释才是重点) from dja ...

  6. Diango博客--16.稳定易用的 Django 分页库,完善分页功能(二)

    文章目录 0.思路引导 1.分页效果概述 2.分页思路 3.Django 第三方拓展:django-pure-pagination 4.自定义模板 0.思路引导 1)在前面我们通过 Django Pa ...

  7. django高级应用(分页功能)

    django高级应用(分页功能) 1.原生分页应用 前端html代码 1 <!DOCTYPE html> 2 <html lang="en"> 3 < ...

  8. 2019.03.20 mvt,Django分页

    MVT模式 MVT各部分的功能: M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理. V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回响应. T全拼为T ...

  9. 2 django系列之django分页与templatetags

    preface 当页面出现的条目多的时候,我们就需要使用分页功能了.Django作为一个知名的web框架,自然也提供了分页功能,下面说说它. Python-shell 练练手 在python下入手 先 ...

  10. Python-Django-Ajax分页功能实现

    Django-Ajax分页功能实现 前言 Django框架,ajax分页功能实现,包含MVT三大板块的代码及注释. 前端(T: 模板) 注意: 整个样式用的是Bootstrap,所以使用的时候要引入b ...

最新文章

  1. idea添加database插件_IDEA高级玩法:集成JIRA、UML类图插件、SSH、FTP、Database管理......
  2. admui3字体无法删除_被微信好友删除、拉黑还不知?这3个方法可以自查,看完涨知识了...
  3. opengl 粒子按轨迹运动_袁讲经典4:一个粒子在电场中的运动轨迹相关问题
  4. 算法练习day12——190331(并查集)
  5. JetBrains —— JetBrains系列IDE优化配置(提高启动和运行速度)
  6. QT 发布程序到开发板
  7. Linux监控CPU关闭服务器,监控Linux服务器CPU和内存
  8. Nmap渗透测试详解(一)
  9. 扩展欧几里得exgcd算法 acm寒假集训日记22/1/12
  10. C#预处理器指令 用法
  11. 基于FPGA实现USB2.0接口方案设计
  12. 字符设备驱动(四)按键中断
  13. nvm 和 nrm 的安装与使用
  14. 互联网电商数据分析常用的指标
  15. intern string java_java-String中intern()的详解
  16. JS学习之路系列总结五行阵(此文犹如武林之中的易筋经,是你驰骋IT界的武功心法,学会JS五大阵法就学会了JS,博主建议先学三才阵)...
  17. 微信小程序开发百度云分享
  18. android拍照保存到系统相册,调用系统相机拍照,并且保存到系统相册的一般套路...
  19. 退出华为的时候,我在想些什么
  20. TCP/IP详解 第十二章(10) TCP Socket 编程

热门文章

  1. 459B Pashmak and Flowers
  2. 在苹果mac中使用excel时,如何快速求和多行数值?
  3. indesign教程,如何改变内容的顺序?
  4. 冰点还原精灵Deep Freeze for mac 系统还原工具
  5. 强大的日志分析工具AWStats
  6. 实战 | 使用Slack、Docker来打造你的运维机器人
  7. [javase] 1.请从键盘随机输入10个整数保存到List中,并按倒序、从大到小的顺序显示出来...
  8. 猫叫了,老鼠跑了!(复习委托和事件)
  9. 【Android UI设计与开发】10:滑动菜单栏(二)SlidingMenu 动画效果的实现
  10. 【转】【开源专访】谢宝友:会说话的Linux内核