django -- 分页功能
自带分页功能 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 -- 分页功能相关推荐
- django分页功能
采用django自带的Paginator功能 from django.core.paginator import Paginator food = foodInfo.objects.filter(fo ...
- django分页功能 views与templates
分页 Django提供了数据分页的类,这些类被定义在django/core/paginator.py中 对象Paginator用于对列进行一页n条数据的分页运算 对象Page用于表示第m页的数据 Pa ...
- django 分页功能
一.安装django-prue-pagination 在pycharm中 File==>settings==>Project:项目名===>Project Interpreter== ...
- Django实现分页功能
在本节中,我们将介绍 Django 为我们提供的高级模块,通过高级模块的学习,你会感受到 Django 的易用性如此之强,但是同时它又很复杂,所以在学习 Django 这样的重度框架的时候,我们一定要 ...
- django自带的分页功能
django自带的分页功能 django中自带的分页功能有缺陷,但是也是一种思路,所以在下做一个整理,方便以后使用,还有服务各位小伙伴. django视图部分的代码.(注释才是重点) from dja ...
- Diango博客--16.稳定易用的 Django 分页库,完善分页功能(二)
文章目录 0.思路引导 1.分页效果概述 2.分页思路 3.Django 第三方拓展:django-pure-pagination 4.自定义模板 0.思路引导 1)在前面我们通过 Django Pa ...
- django高级应用(分页功能)
django高级应用(分页功能) 1.原生分页应用 前端html代码 1 <!DOCTYPE html> 2 <html lang="en"> 3 < ...
- 2019.03.20 mvt,Django分页
MVT模式 MVT各部分的功能: M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理. V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回响应. T全拼为T ...
- 2 django系列之django分页与templatetags
preface 当页面出现的条目多的时候,我们就需要使用分页功能了.Django作为一个知名的web框架,自然也提供了分页功能,下面说说它. Python-shell 练练手 在python下入手 先 ...
- Python-Django-Ajax分页功能实现
Django-Ajax分页功能实现 前言 Django框架,ajax分页功能实现,包含MVT三大板块的代码及注释. 前端(T: 模板) 注意: 整个样式用的是Bootstrap,所以使用的时候要引入b ...
最新文章
- idea添加database插件_IDEA高级玩法:集成JIRA、UML类图插件、SSH、FTP、Database管理......
- admui3字体无法删除_被微信好友删除、拉黑还不知?这3个方法可以自查,看完涨知识了...
- opengl 粒子按轨迹运动_袁讲经典4:一个粒子在电场中的运动轨迹相关问题
- 算法练习day12——190331(并查集)
- JetBrains —— JetBrains系列IDE优化配置(提高启动和运行速度)
- QT 发布程序到开发板
- Linux监控CPU关闭服务器,监控Linux服务器CPU和内存
- Nmap渗透测试详解(一)
- 扩展欧几里得exgcd算法 acm寒假集训日记22/1/12
- C#预处理器指令 用法
- 基于FPGA实现USB2.0接口方案设计
- 字符设备驱动(四)按键中断
- nvm 和 nrm 的安装与使用
- 互联网电商数据分析常用的指标
- intern string java_java-String中intern()的详解
- JS学习之路系列总结五行阵(此文犹如武林之中的易筋经,是你驰骋IT界的武功心法,学会JS五大阵法就学会了JS,博主建议先学三才阵)...
- 微信小程序开发百度云分享
- android拍照保存到系统相册,调用系统相机拍照,并且保存到系统相册的一般套路...
- 退出华为的时候,我在想些什么
- TCP/IP详解 第十二章(10) TCP Socket 编程
热门文章
- 459B Pashmak and Flowers
- 在苹果mac中使用excel时,如何快速求和多行数值?
- indesign教程,如何改变内容的顺序?
- 冰点还原精灵Deep Freeze for mac 系统还原工具
- 强大的日志分析工具AWStats
- 实战 | 使用Slack、Docker来打造你的运维机器人
- [javase] 1.请从键盘随机输入10个整数保存到List中,并按倒序、从大到小的顺序显示出来...
- 猫叫了,老鼠跑了!(复习委托和事件)
- 【Android UI设计与开发】10:滑动菜单栏(二)SlidingMenu 动画效果的实现
- 【转】【开源专访】谢宝友:会说话的Linux内核