本文朋友在上海喝咖啡的时候突然想到的...之前就有想写几篇关于分页数据的文章,所以回家到以后就奋笔疾书的写出来发布了
二、分页Paginator的解释
1 >>> from django.core.paginator import Paginator 2 >>> objects=['C#','Java','Python','JavaScript','PHP'] 3 >>> p =Paginator(objects,2) #每页两条数据的一个分页器 4 >>> p.count #数据总数 5 5 6 >>> p.num_pages #总页数 7 3 8 >>> p.page_range #页码的表列 9 [1, 2, 3] 10 >>> page1 = p.page(1) #第1页 11 >>> page1 12 <Page 1 of 3> 13 >>> page1.object_list #第1页的数据 14 ['C#', 'Java'] 15 >>> page2=p.page(2) #第2页 16 >>> page2 17 <Page 2 of 3> 18 >>> page2.object_list #第2页的数据 19 ['Python', 'JavaScript'] 20 >>> page2.has_next() #是不是有后一页 21 True 22 >>> page2.has_previous() #是不是有前一页 23 True 24 >>> page2.has_other_pages() #是不是有其他页 25 True 26 >>> page2.next_page_number() #后一页的页码 27 3 28 >>> page2.previous_page_number() #前一页的页码 29 1 30 >>> page2.start_index() # 本页第一条记载的序数(从1开始) 31 3 32 >>> page2.end_index() # 本页最后录一条记载的序数(从1开始) 33 4 34 >>> p.page(0) #错误的页,抛出异常 35 ...EmptyPage: That page number is less than 1 36 >>> p.page(3) #错误的页,抛出异常 37 ...EmptyPage: That page contains no results
接下来我们在视图数函中用使分页
每日一道理
我拽着春姑娘的衣裙,春姑娘把我带到了绿色的世界里。
我拽着春姑娘的衣裙,春姑娘把我带到了绿色的世界里。
def listing(request): """ 功能说明: 分页示显 ----------------------------------------------------------------------------- 改修人 改修时光 改修原因 ----------------------------------------------------------------------------- admin 2013-04-16 """ news=New.objects.all().order_by('-id') paginator =Paginator(news,5) #Show 5 news per page #定确分页求请是一个整数,如果不是则付交第一页 try: page=int(request.GET.get('page',1)) except VauleError: page=1 #如果分页求请过超范围,则付交最后一页 try: contacts=paginator.page(page) except (EmptyPage,InvalidPage): contacts = paginator.page(paginator.num_pages) return render_to_response('list.html',{'contacts':contacts})
在用使之前一定要住记导入:
from django.core.paginator import Paginator,EmptyPage,InvalidPage #导入分页模型
通过在url配置以后:
(r'^listing/$','login.views.listing'), #分页
接下来就是写模板了:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> {% for contact in contacts.object_list %} {# 每一个contact都是News的象对#} {{ contact.title}}<br/> {% endfor %} <hr style="color:#CC0"/> <div class="pagination"> <span class="step-links"> {% if contacts.has_previous %} <a href="?page={{ contacts.previous_page_number }}">上一页</a> {% endif %} <span class="current"> 第{{ contacts.number }}页/ 共 {{ contacts.paginator.num_pages}}页 </span> {% if contacts.has_next %} <a href="?page={{ contacts.next_page_number }}">下一页</a> {% endif %} </span> </div> </body> </html>
好了,启动服务器,在浏览器中看查结果:
文章结束给大家分享下程序员的一些笑话语录: 那是习惯决定的,一直保持一个习惯是不好的!IE6的用户不习惯多标签,但是最终肯定还是得转到多标签的浏览器。历史(软件UI)的进步(改善)不是以个人意志(习惯)为转移的!
相关推荐
Chapter 13: Templates: Best Practices Chapter 14: Template Tags and Filters Chapter 15: Django Templates and Jinja2 Chapter 16: Building REST APIs with Django REST Framework (NEW) Chapter 17: ...
Django入门基础教程:django模板 Django入门基础教程:django模板
1.Django 搜索结果分页的实现 在这里我们用django自带的分页模块来实现 这个paginator对象中带有如下属性: #per_page:每页显示条目数量 #count:数据总个数 #num_pages:总页数 #page_range:总页数的索引范围,如...
Python开发工程师学会用 Django 框架实现功能:理解 HTTP.zip
Python开发工程师学会用 Django 框架实现功能:理解 HTTP 协议02.zip
Django扩展分页,详细介绍了多种分页操作,简单实用。
需要一个页面分页展示信息,在该页面添加搜索框以提供检索功能。 那么,我们知道,展示信息和检索功能是在同一个页面,也就是共用一个路由。 代码如下: 第一步,写路由:为了清晰,这里只给出主页和展示页面的路由...
https://github.com/zhuinfo/Django-ERP, 根据此django-erp改写为适配python3.6,+django2.01,完美运行, 数据库改为postgresql, 如果使用mysql, 请在./mis/setting.py中改回即可。
django-river:支持动态更改的Django工作流库:sailboat:
Python后台开发框架Django的分页器代码,有需要可以下载
Build a world-class website in less than a week with Django CMS. Beginning Django CMS shows you how to simply and easily write a dynamic website with a full content management system in the backend. ...
Django-Blog:django4beginners教程:如何使用django创建博客
Chapter 1: Introduction to the Django Framework Chapter 2: Django Urls and Views Chapter 3: Django Templates Chapter 4: Jinja Templates in Django Chapter 5: Django Application Management Chapter 6: ...
序使用django俩年之余,给大家分享下相关的原始码知识。故而总结为相关笔记。如果如下有任何错误,请指正,谢谢〜基于2.1.x版本。目录章节01:django是如何做到自动重启的章节02:django运行服务器章节03:django ...
Django基础知识介绍,英文版,读这本书要有一定的英文水平
Django光标分页 用于Django的基于光标的分页系统。 我们不用按编号引用特定的页面,而是根据查询顺序的顺序为查询集中的每个项目提供光标。 然后,我们通过在我们当前拥有的最后一个项目的光标之后查询记录来查询...
Chapter 13: Templates: Best Practices Chapter 14: Template Tags and Filters Chapter 15: Django Templates and Jinja2 Chapter 16: Building APIs with Django Rest Framework Chapter 17: Consuming REST APIs...
只需在views.py中实例化,在html中添加3行代码即可傻瓜式实现Django中的分页功能。 每页数据量、显示页码数可编辑,完美实现按下标即达页面,也可前后翻页。 除了页码显示,考虑到URL传回可能多个参数。模块允许URL...
Django for Beginners: Build websites with Python and Django By 作者: William S. Vincent ...Chapter 13:Newspaper app Chapter 14:Permissions and Authorization Chapter 15:Comments Conclusion
django-markupfield::bookmark_tabs:Django的MarkupField