https://docs.djangoproject.com/en/3.2/topics/pagination/

Django 提供了高级和低级方法来帮助您管理分页数据——即,分成多个页面的数据,并带有“上一页/下一页”链接。

Paginator

在底层,所有分页方法都使用 Paginator 类.

可以为 Paginator() 提供列表/元组、Django QuerySet 或任何其他具有 count()__len__() 方法的对象。

当确定传递的对象中包含的对象数量时, Paginator 将首先尝试调用 count() ,如果传递的对象没有 count() 方法,则使用 len() 。这允许 Django 的 QuerySet 等对象在可用时使用更高效的 count() 方法。

Paginator方法/属性

# 返回分页中所有数据的总数
pg.count # 每页多少条数据
pg.per_page # 总共有多少页
pg.num_pagess # 返回某一页(返回的是一个Page()对象)
pg.page(<第几页>)

Page

方法/属性

# 返回Page类对应的paginator对象
p.paginator # 当前页中的数据
p.object_list # 是否有下一页
p.has_next() # 是否有上一页
p.has_previous() # 下一页页数
p.next_page_number() # 上一页页数
p.previous_page_number()

直接上例子~

# 导入类
>>> from django.core.paginator import Paginator # 按照每页2条数据来分页图书
>>> pg = Paginator(PeopleInfo.objects.all(), 2) # 分页对象中数据的总数,这个就是你给定的PeopleInfo.objects.all()获取的数据总数
>>> pg.count
17 # 总有多少页
>>> pg.num_pages
9 # 拿到第一页对象Page
>>> page1 = pg.page(1)
>>> page1
<Page 1 of 9> # 获取第一页中的数据
>>> page1.object_list
<QuerySet [<PeopleInfo: 郭靖>, <PeopleInfo: 黄蓉>]>

django分页器使用的更多相关文章

  1. Django分页器的设置

    Django分页器的设置 有时候在页面中数据有多条时很显然需要进行分页显示,那么在python中django可以这样设置一个分页处理 怎么样去设置呢? 我们要用到  Django  中的  Pagin ...

  2. Django 分页器的使用

    Django 分页器的使用 Django作为Python Web开发框架的一哥,提供了企业级网站开发所需要的几乎所有功能,其中就包括自带分页功能.利用Django自带的Paginator类,我们可以很 ...

  3. Django分页器和自定义分页器

    一.自定义分页器 import copy class Pagination(): def __init__(self,request,current_page,all_data_num,each_pa ...

  4. django -----分页器组件

    分页器组件 本文目录 1 Django的分页器(paginator)简介 2 应用View层 3 模版层 index.html 4 扩展 回到目录 1 Django的分页器(paginator)简介 ...

  5. Django 2.0 学习(19):Django 分页器

    Django 分页器 要使用Django实现分页功能,必须从Django中导入Paginator模块(painator - 分页器) views.py from django.shortcuts im ...

  6. Django - Cookie、Session、自定义分页和Django分页器

    2. 今日内容 https://www.cnblogs.com/liwenzhou/p/8343243.html 1. Cookie和Session 1. Cookie 服务端: 1. 生成字符串 2 ...

  7. Django 分页器 缓存 信号 序列化

    阅读目录 分页器 缓存 信号 序列化 Django分页器  (paginator) 导入 from django.core.paginator import Paginator, EmptyPage, ...

  8. django分页器

    网站页面的分页效果可以通过分页器实现 分页器的使用 urls.py from django.contrib import admin from django.urls import path from ...

  9. 7.Django|分页器

    Django的分页器paginator 文件为pageDemo models.py from django.db import models # Create your models here. cl ...

  10. 7 Django分页器文章分页

    1.复习 2.这节课要解决的问题? 3.分页的原理 4.准备工作 (1)创建Django项目 C:\Users\Administrator\Desktop\root3>django-admin ...

随机推荐

  1. 为不断增长的Go生态系统扩展gopls

    原文在这里. 由 Robert Findley and Alan Donovan 发布于 2023年9月8日 今年夏天初,Go团队发布了gopls的v0.12版本,这是Go语言的语言服务器,它进行了核 ...

  2. JDK8升级JDK11最全实践干货来了

    1.前言 截至目前(2023年),Java8发布至今已有9年,2018年9月25日,Oracle发布了Java11,这是Java8之后的首个LTS版本.那么从JDK8到JDK11,到底带来了哪些特性呢 ...

  3. 「codeforces - 1720」

    壹 最近 cq 情况很急急,昨天出去排核酸整了两个半小时,十分无语.提前放假自然是一大好事,但是一个人在家也蛮无聊.不要再涨体重了为好,这一年间他妈 delta 了 10 kilos,算了下 BMI ...

  4. nginx ServerName匹配规则

    1.同一个主机配置不同端口,访问不同资源 worker_processes 1; events { worker_connections 1024; } http { include mime.typ ...

  5. 用go封装一下二级认证功能

    用go封装一下二级认证 本篇为用go设计开发一个自己的轻量级登录库/框架吧 - 秋玻 - 博客园 (cnblogs.com)的二级认证业务篇,会讲讲二级认证业务的实现,给库/框架增加新的功能. 源码: ...

  6. MySQL PXC集群新增一个高版本节点

    已有的一个 MySQL PXC 集群环境,因为种种原因仅剩一个节点 node1,需要新增一个集群节点 node2. node1 版本:donor version (8.0.21) node2 版本:l ...

  7. 安装OpenStack的yum源

    # yum install https://buildlogs.centos.org/centos/7/cloud/x86_64/openstack-liberty/centos-release-op ...

  8. docker入门加实战—docker数据卷

    docker入门加实战-docker数据卷 容器是隔离环境,容器内程序的文件.配置等都在容器的内部,要读写容器内的文件非常不方便. 因此,容器提供程序的运行环境,但是程序运行产生的数据.程序运行依赖的 ...

  9. 如何通过Python代码旋转PDF页面

    前言 日常处理 PDF 文档时,我们时常会遇到页面颠倒.很难正常阅读或打印的情况. 在这种情况下,我们可以通过旋转页面来调整文档的方向.旋转时,也可以根据具体情况,选择顺时针或逆时针旋转特定的角度,以 ...

  10. 夯实JAVA基本之一——泛型详解(2):高级进阶(转)

    上一篇给大家初步讲解了泛型变量的各种应用环境,这篇将更深入的讲解一下有关类型绑定,通配符方面的知识. 一.类型绑定1.引入我们重新看上篇写的一个泛型:class Point<T> { pr ...