django实现分页显示

django版本 1.4.5

这种方式是官方文档中的方法,应该是在1.4之后都可以以相同的方式实现

默认页面已经建立,只是需要分页。

首先,视图view

 1 from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
 2
 3 def listing(request):
 4     contact_list = Contacts.objects.all()
 5     paginator = Paginator(contact_list, 25) # 每页显示25个联系人
 6     page = request.GET.get(’page’)
 7     try:
 8         contacts = paginator.page(page)
 9     except PageNotAnInteger:
10 #如果接收到非数字参数,显示第一页,因为是get传输的,所以可以在地址栏改动
11         contacts = paginator.page(1)
12     except EmptyPage:
13 #页面超出范围,显示最后一页
14         contacts = paginator.page(paginator.num_pages)15     return render_to_response(’list.html’, {"contacts": contacts})

这里的Contacts是已经有的model,需要import进来

接下来就在html里面加入相关代码就有分页效果了,如下

 1 {% for contact in contacts %}
 2 {# Each "contact" is a Contact model object. #}
 3 {{ contact.full_name|upper }}<br />
 4 ...<!-- 这里是循环输出你的联系人 -->
 5 {% endfor %}
 6
 7 <!--这里以下是有关分页的代码 -->
 8 <div class="pagination">
 9 <span class="step-links">
10 {% if contacts.has_previous %}
11 <a href="?page={{ contacts.previous_page_number }}">previous</a>
12 {% endif %}
13 <span class="current">
14 Page {{ contacts.number }} of {{ contacts.paginator.num_pages }}.
15 </span>
16 {% if contacts.has_next %}
17 <a href="?page={{ contacts.next_page_number }}">next</a>
18 {% endif %}
19 </span>
20 </div>

应该不难理解,结束

有关Paginator对象的内容,参考官方文档……

时间: 2024-08-01 12:54:32

django实现分页显示的相关文章

Django中html里的分页显示

分页一 因为数据量过大,而又想直观便捷的查看数据,进而通过分页显示就可以完成这项工作 app中views.py LIST=[] #全局定义一个LIST for i in range(100): #数据量为100 LIST.append(i) #使LIST里面包含0-99个自然数 def user_list(request): current_page=request.GET.get('p',1) #用户不存在默认看第一页 current_page=int(current_page) #使char

Django自定义分页、bottle

一.使用django实现之定义分页 1.自定义分页在django模板语言中,通过a标签实现; 2.前段a标签使用<a href="/user_list/?page=1">1</a>,将page的值传送到函数/user_list/中,后端在user_list中通过request.GET.get('page',1)获取当前页; 3.从数据库中获取特定行的数据,使用result = models.UserList.objects.all()[start:end]获取,

Django Admin site 显示问题

Django Admin site 显示问题 今天配置了一下Django admin site,可是admin site的显示有一些问题,当我打开源码.訪问里面的admin 的css 文件时候,http://localhost:8000/static/admin/css/base.css, 却得到了一个404界面错误. 这里提供几个解决方式: 1. 在 settings.py 文件内, 把 django.contrib.staticfiles 增加到 INSTALLED_APPS 在又一次启动s

PHP+Mysql————数据分页显示技术

通常情况下,一个页面加载大量的数据时,数据不可能同时显示出来.这时候,比较常用的方法就是滚动条和分页.看过电子书的孩子都知道,电子书那么多字,一个手机或pad的屏幕是无法全部显示的,开玩笑,一本几兆的书就好几百万字,一下子放到几寸的屏幕上,不得亮瞎你的眼.所以我们都是下滑使文字进行滚动或翻页.这篇博文就用来分享一下php的分页技术. 首先获取数据库中某表的数据,输出到网页上,然后再进行分页显示.一句话就讲明白了,但具体怎么分页的,请看代码. <?php header("content-ty

自制MVC框架CRUD操作、列表、分页显示插件介绍

这里涉及到的操作都是引用自Stephen.DALService数据层.数据访问层实现方式在后文中我会仔细的说明,先说明一下数据操作集成的插件. 1).InsertAttribute 用于插入记录. 状态返回值:假定hashtable传递变量名的是context ,那么返回值可通过context[InsertAttribute.ValueKey]得到,推荐返回的是插入的主键ID值,当然这个是由数据层设定的. 有以下属性可进行设置: 属性名 作用 默认值 选项说明 其它说明 Key 映射路径.格式如

python Django注册页面显示头像

python Django注册页面显示头像(views) def register(request): ''' 注册 :param request: :return: ''' if request.method=='GET': obj = Register(request) return render(request, 'register.html', {'obj': obj}) else: obj = Register(request,request.POST,request.FILES) i

PHP+MySQL分页显示示例分析

Web开发是今后分布式程式开发的主流,通常的web开发都要涉及到与数据库打交道,客户端从服务器端读取通常都是以分页的形式来显示,一页一页的阅读起来既方便又美观.所以说写分页程序是web开发的一个重要组成部分,在这里,我们共同来研究分页程序的编写. 一.分页程序的原理 分页程序有两个非常重要的参数:每页显示几条记录($pagesize)和当前是第几页($page).有了这两个参数就可以很方便的写出分页程序,我们以MySql数据库作为数据源,在mysql里如果要想取出表内某段特定内容可以使用的 T-

django 自定义分页模块

django 自定义分页模块 from django.shortcuts import render, HttpResponse, redirect from django.utils.safestring import mark_safe class Page(object): def __init__(self, current_page): self.current_page = int(current_page) @property def start(self): return (se

关于会员分页显示

关于conn.php mysql_connect('localhost','root','root') or die("数据库连接失败"+mysql_error()); mysql_select_db('ajax') or die("数据打开失败"+mysql_error()); user.php <?php require_once:"conn.php" $page=$_GET['page']?$_GET['page']:1; $page