本文朋友在上海喝咖啡的时候突然想到的...之前就有想写几篇关于分页数据的文章,所以回家到以后就奋笔疾书的写出来发布了
二、分页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)的进步(改善)不是以个人意志(习惯)为转移的!
相关推荐
Django入门基础教程:django模板 Django入门基础教程:django模板
1.Django 搜索结果分页的实现 在这里我们用django自带的分页模块来实现 这个paginator对象中带有如下属性: #per_page:每页显示条目数量 #count:数据总个数 #num_pages:总页数 #page_range:总页数的索引范围,如...
这里我们将详细探讨Django框架如何处理HTTP请求以及如何构建响应,同时也会涉及Python语言和后端开发的一些基础知识。 首先,我们需要理解HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,用于从万维网...
在本文中,我们将深入探讨如何使用Django框架与Bootstrap前端库来实现动态、自适应的分页效果。Django是一个用Python编写的高效、可扩展的Web开发框架,而Bootstrap则是一个流行的前端开发工具,提供了丰富的UI组件...
总之,Django分页器是处理大量数据的有效工具,`django-pure-pagination`作为Django的一个第三方库,提供了一种简单易用的方式来实现分页功能。通过以上步骤,你可以快速地在你的Django项目中集成并使用这个库,提升...
需要一个页面分页展示信息,在该页面添加搜索框以提供检索功能。 那么,我们知道,展示信息和检索功能是在同一个页面,也就是共用一个路由。 代码如下: 第一步,写路由:为了清晰,这里只给出主页和展示页面的路由...
比如用户认证(3.10 User authentication in Django)、缓存框架(3.11 Django’s cache framework)、国际化和本地化(3.15 Internationalization and localization)、日志记录(3.16 Logging)、分页(3.17 ...
- **强大的数据库功能**:Django的ORM允许开发者通过Python类定义数据模型,自动生成数据库操作接口,还可以直接执行SQL语句。 - **内置管理后台**:通过简单的配置,Django可以快速生成一个强大的后台管理界面,...
Django,作为Python的一种热门Web框架,为开发者提供了强大的功能,让构建高效、优雅的Web应用变得简单。这个“Django课件与代码”资源专为想要学习Django的初学者设计,它包含了完整的课程材料和配套代码,帮助你从...
这个"bootstrap-table客户端分页实例"是展示如何在不依赖服务器端处理的情况下,利用前端数据实现表格的分页功能,这对于小型项目或者数据量不大的场景非常实用。 Bootstrap Table的核心特性包括: 1. **数据源**...
- 对于大量数据,考虑使用缓存或数据库级别的分页功能来进一步优化。 - 当用户直接访问非法页码时,确保你的视图能正确处理这种情况,避免返回404错误。 在Django项目`my_project`中,你可能已经创建了一个类似...
总的来说,Django的Paginator分页功能非常强大,但是当需要处理原生SQL查询时,需要自定义类来实现必要的方法。通过这种方式,我们可以在保持灵活性的同时,充分利用Django内置的分页机制,提高代码的可复用性和维护...
### Django框架实现的简单分页功能详解 #### 一、引言 在Web应用开发过程中,随着数据库中存储的数据量逐渐增大,为了提高用户体验及页面加载速度,分页功能成为了必不可少的一部分。本篇文章将详细介绍如何在...
上一篇也分享了一个关于Paginator+layui的ajax动态加载数据的博客,只是用到了layui静态表格、样式,功能上是根据自己思路用jQuery动态加载数据的博客分享,说白了上一篇是基本原生的写法,并没有用到layui框架内置...
不过,根据标题和描述,可以推断出知识点与《Django Web开发指南》有关,该文档可能是关于Django框架的指导手册,主要面向希望学习或提高Django Web开发技能的人群。 Django是一个高级的Python Web框架,它鼓励快速...
在接下来的文本中,我将根据给定文件的标题、描述、标签以及部分内容中提取的信息,详细地介绍Django 1.6官方文档中所包含的知识点。 ### Django 1.6 官方文档 Django是一个开源的高层次Python Web框架,它鼓励...
从上述内容中,我们可以提炼出Django的一些核心知识点: 1. Django的MTV架构模式:Model负责数据和业务逻辑的处理,Template负责显示逻辑,View负责业务逻辑的处理。 2. Django的内置功能:如用户认证系统、内容...
本文包含:Django框架基础知识、Django视图和模板、Django框架和模型和django框架后台、Django框架实战:开发企业官网、Rest Framework 、Vue前端、Vue+Django综合项目;Vue前端对接:通过Vue与后端API进行数据交互...
此外,Django文档中的“模板层”部分着重于如何定义和使用模板来展示数据,以及如何进行模板继承和模板标签的编写。 关于Django的“开发过程”,文档会指导开发者如何有效地进行项目开发,包括测试、调试和优化。而...