zoukankan      html  css  js  c++  java
  • django-分页(Pagination)

    Django提供了一个分页器类Paginator(django.core.paginator.Paginator),可以很容易的实现分页的功能。该类有两个构造参数,一个是数据的集合,另一个是每页放多少条数据。Paginator的基本使用如下:

    python manage.py shell

    >>> from django.core.paginator import Paginator

    >>> objects = ['john', 'paul', 'george', 'ringo']

    >>> p = Paginator(objects, 2)      #每页两条数据的一个分页器

    >>> p.count        #数据总数

    4

    >>> p.num_pages      #总页数

    2

    >>>p.page_range       #页码的列表

    [1, 2]

    >>> page1 = p.page(1)     #第1页

    >>> page1

    <Page 1 of 2>

    >>> page1.object_list     #第1页的数据

    ['john', 'paul']

    >>> page2 = p.page(2)

    >>> page2.object_list      #第2页的数据

    ['george', 'ringo']

    >>> page2.has_next()     #是否有后一页

    False

    >>> page2.has_previous()   #是否有前一页

    True

    >>> page2.has_other_pages()   #是否有其他页

    True

    >>> page2.next_page_number()  #后一页的页码

    3

    >>> page2.previous_page_number()  #前一页的页码

    1

    >>> page2.start_index()   # 本页第一条记录的序数(从1开始)

    3

    >>> page2.end_index()    # 本页最后录一条记录的序数(从1开始)

    4

    >>> p.page(0)               #错误的页,抛出异常

    ...EmptyPage: That page number is less than 1

    >>> p.page(3)              #错误的页,抛出异常

    ...EmptyPage: That page contains no results

  • 相关阅读:
    MongoDB对比关系型数据库
    Swagger 打开时自动折叠
    更改Linux定时任务crontab启动基目录
    linux系统/etc/init.d目录下的开机自启脚本
    vue 中新窗口打开vue页面 (this.$router.resolve)
    树莓派4B如何手动固定IP地址
    树莓派无显示器设置WiFi、开启ssh、开启VNC
    递归
    学习-HTML5
    只是为了表示我还有在敲代码
  • 原文地址:https://www.cnblogs.com/weiming-cheng/p/5369304.html
Copyright © 2011-2022 走看看