文档章节

Django pagination

alazyer
 alazyer
发布于 2014/03/30 20:55
字数 236
阅读 115
收藏 2

Django pagination 小结,参见django documentation

  1. 导入Paginator
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
  1. 使用Paginator,建立实例
def listing(request):
    OBJECTS_TO_SHOW = ['test%d' % x for x in xrange(10)]
    NUM_PER_PAGE = 4

    paginator = Paginator(OBEJCTS_TO_SHOW, NUM_PER_PAGE)

    page = request.GET.get('page')

    try:
        contents = paginator.page(page)
    except PageNotAnInteger:
        # If page is not an integer, deliver first page.
        contents = paginator.page(1)
    except EmptyPage:
        # If page is out of range (e.g. 9999), deliver last page of results.
        contents = paginator.page(paginator.num_pages)
  1. 在Template中使用
{% for content in contents %}
    {{ content }}<br />
    ...
{% endfor %}

<div class="pagination">
    <span class="step-links">
        {% if contacts.has_previous %}
            <a href="?page={{ contents.previous_page_number }}">previous</a>
        {% endif %}

        <span class="current">
            Page {{ contacts.number }} of {{ contents.paginator.num_pages }}.
        </span>

        {% if contents.has_next %}
            <a href="?page={{ contents.next_page_number }}">next</a>
        {% endif %}
    </span>
</div>
  1. 其他相关属性/方法

Paginator 实例具有的属性方法

Paginator.page(page_num)  # 返回第page_num页的一个Page实例

Paginator.count # 所有要显示的内容的长度
Paginator.num_pages # 所有要显示的内容分成的页码数,即共多少页
Paginator.page_range # 页码范围

Page 实例具有的属性/方法

Page.previous()
Page.next()
Page.has_other_pages()
Page.previous_page_number()
Page.next_page_number()
Page.start_index()
Page.end_index()

Page.object_list  # 在本页中显示的内容
Page.number # 本页页码
Page.paginator # 对应的Paginator实例

© 著作权归作者所有

共有 人打赏支持
alazyer
粉丝 5
博文 68
码字总数 35105
作品 0
程序员
私信 提问
django1.9使用django-pageination出现AttributeError错误处理

问题: 在django1.9使用django-pageination出现错误 AttributeError: 'WSGIRequest' object has no attribute 'REQUEST' 原因: 在django1.7中被弃用并使用更明确的和来替代,而在django1.9......

在湖闻樟
2016/03/01
271
0
django-pure-pagination实现分页

django-pure-paginations是一个第三方的分页插件 安装 django-pure-pagination 在settings里的INSTALLED_APPS下新增如下 在views中使用...

鬼谷君
2018/03/20
0
0
Django+boostrap分页(1)

源起 我想要优雅地使用+ 来实现分页,忽然发现不知道该如何做起我照葫芦画瓢知道了怎么使用列表组件,也大概知道怎么使用,但是放到一起我就彻底懵逼了。 资料收集 基本分页演示 如果想使用禁...

mhye
2016/10/09
80
0
django-pagination使用

首先要做的就是下载django-pagination插件,装上即可; 完成后,使用方法如下: 1.在自己的项目setting.py文件中添加, INSTALLED_APPS = ( # ... 'pagination', ) 2.添加中间件 MIDDLEWARE...

shaohan
2014/03/04
0
2
如何对同一时间段内的数据错乱排序

数据库中一张表,要按查询条件并时间为第一要素给分页显示, 可是爬虫在爬取的时候都是某天同个时间段去爬一家网站,这就导致按时间排出的结果,同一家网站数据联在一起,现在要求是按时间排...

陈小轩
2013/11/13
284
1

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot入门系列HelloWorld

根据咱们程序员学习的惯例,学习一门新技术都是从HelloWorld开始的。 感觉编程是一件非常富有意义的事情,程序员也是一群可爱的人,渴望被关怀和关注,因为我们总在和世界say Hi. 好了进入正...

凌宇之蓝
38分钟前
1
0
Linux之《荒岛余生》(二)CPU篇

温馨提示,动图已压缩,流量党放心查看。CPU方面内容不多,我们顺便学点命令。本篇是《荒岛余生》系列第二篇,垂直观测CPU。其余参见: Linux之《荒岛余生》(一)准备篇 如何做一个CPU cpu...

mskk
42分钟前
1
0
Java基础教程,第十讲,继承

前面我们学习了类和对象的概念,学习了方法的重载,今天我们将学习面向对象另一个重要特性,继承(inheritance)。利用继承,我们可以基于一个已经存在的类狗仔一个新的类,继承已经存在的类...

程序员补给栈
45分钟前
2
0
nginx的日志

nginx的日志包括错误日志和访问日志,分别使用不同的指令来定义其输出位置和相应的级别。 下面介绍其各自的用途。 错误日志 nginx提供了error_log指令来指定错误日志的输出文件和级别。 指令...

xtof
今天
3
0
【转】ubuntu18.04系统安装完之后显示未发现WiFi适配器【拯救者y7000亲测可用】

解决过程如下: 标题要大才醒目。 第一,插网线: 确保能通过网线连上网,通过路由器连还是直接接口连都没事,因为我们需要联网去下载些驱动以及更新。 第二,更改软件源: 打开“设置”,选...

Aomo
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部