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. 如何通过API接口获取京东的商品评论

    如果您想要获取京东的商品评论,可以通过API接口来实现.这篇文章会介绍如何使用京东API接口获取商品的评论数据. 首先,您需要到京东开放平台注册成为开发者,然后创建一个应用程序.通过这个应用程序,您可 ...

  2. 解密Prompt系列14. LLM Agent之搜索应用设计:WebGPT & WebGLM & WebCPM

    前两章,我们分别介绍了基于微调和prompt的工具调用方案,核心都是如何让大模型和工具进行交互,包括生成工具调用语句和处理工具调用请求.不过在实际应用中,想要设计一个可以落地的LLM Agent,需要 ...

  3. ES13 中11个令人惊叹的 JavaScript 新特性

    前言 与许多其他编程语言一样,JavaScript 也在不断发展.每年,该语言都会通过新功能变得更加强大,使开发人员能够编写更具表现力和简洁的代码. 小编今天就为大家介绍ES13中添加的最新功能,并查 ...

  4. subDomainBrute源码分析

    SubDomainsBrute简介 ​ SubDomainsBrute是一款目标域名收集工具 ,用小字典递归地发现三级域名.四级域名.五级域名等不容易被探测到的域名.字典较为全面,小字典就包括3万多条 ...

  5. 解决Nginx SSL 代理 Tomcat 获取 Scheme 总是 Http 问题

    背景 公司之前用的是http,但是出于苹果app审核和服务器安全性问题,要改为https,我们公司用的是沃通的ssl,按照沃通的官方文档提供的步骤完成服务器的配置. 架构上使用了 Nginx +tom ...

  6. 「codeforces - 1481F」AB Tree

    link. 理一下逻辑,主要讲一下我做题时的疑惑和其它题解没提到的细节. 首先容易看到,一个必然不劣的贪心策略是把尽量靠近根的层铺成同样的字符.也许会有疑惑,字符串是否本质不同的判定每个位置地位相等. ...

  7. 如何vue3中使用全局变量,与Vue2的区别

    对比: 在vue2.x中我们挂载全局变量或方法是通过是使用Vue.prototype.$xxxx=xxx的形式来挂载,然后通过this.$xxx来获取挂载到全局的变量或者方法 但是 在vue3.x中显 ...

  8. Python正则表达式——常用re正则表达式集合

    文章目录 一.校验数字的表达式 二.校验字符的表达式 三.特殊需求表达式 一.校验数字的表达式 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^ ...

  9. 13.1 使用DirectX9绘图引擎

    DirectX 9 是由微软开发的一组多媒体应用程序接口API,用于创建和运行基于Windows平台的多媒体应用程序,尤其是游戏.它是DirectX系列中的一个版本,于2002年发布,是DirectX ...

  10. Intervals 题解

    Intervals 题目大意 给定 \(m\) 条形如 \((l_i,r_i,a_i)\) 的规则,你需要求出一个长为 \(n\) 的分数最大的 01 串的分数,其中一个 01 串 \(A\) 的分数 ...