django进阶-分页

这篇具有很好参考价值的文章主要介绍了django进阶-分页。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

普通分页

定义:

        Django 提供Paginator类可以方便的实现分页功能

        Paginator类位于django.core.paginator

Paginator对象

        对象的构造方法

        paginator = Paginator(object_list,per_page)

        参数

                object_list        需要分页的对象

                per_page        每页数据个数

        返回值

                Paginator的对象

        paginator属性

                -count                需要分页的对象总数

                -num_pages        分页后的页面总数

                -page_range        从1开始的range对象,用于记录当前码数

                -per_page             每页数据的个数

        paginator方法

                paginator对象.page(number)

                        -参数number为页码信息(从1开始)

                        -返回当前值number也对应的页信息

                        -如果提供的页码不存在,抛出InvalidPage异常   

        paginator异常exception

                InvalidPage异常包括

PageNotAnInteger        当向page()传入一个不是整数的值时抛出

EmptyPage                 当向page()传入一个有效值,但是那个页面上没有任何对象时抛出

page对象 

创建对象

        page = paginator.page(页码)

page对象属性

        object_list                当前页上所有数据对象的列表

        number                    当前页的序号,从1开始

        paginator                  当前page对象相关的paginator对象

        has_next()                如果有下一页返回True

        has_previous()          如果有上一夜返回True

        has_other_pages()        如果有上一页或下一页返回True

        next_page_number()        返回下一页的页码,如果下一页不存在,抛出InvalidPage异常

        previous_page_number()        返回上一页的页码,如果上一页不存在,抛出InvalidPage异常文章来源地址https://www.toymoban.com/news/detail-620622.html

案例: 

from django.core.paginator import Paginator,Page
#  普通分页
def test(request):
    page_num = request.GET.get('page',1)
    # 需要分页的数据
    all_data = ['a','b','c','d','e']
    # 初始化paginator
    paginator = Paginator(all_data,2)
    # 初始化具体页码的对象
    c_page = paginator.page(int(page_num))
    return render(request,'test.html',locals())

到了这里,关于django进阶-分页的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python】【进阶篇】30、Django模板继承精讲

    在本节我们讲述模板语言中最后一个知识点,也是最重要的,那就是模板继承。模板继承和 Python 语言中类的继承含义是一样的,在 Django 中模板只是一个文本文件,如 HTML,XML,CSV等文件格式。那模板继承到底是是什么呢?如何在 Django 中使用它呢?让我们一起一探究竟。 模

    2024年02月04日
    浏览(45)
  • 【Python】【进阶篇】24、Django if标签详解

    本节继续讲解 Django 的模板语言,Django 内置了许多标签用于简化模板的开发过程,同时 Django 也支持自定义标签,这极大的方便了 Web开发者,下面我们依次进行介绍。 Django 的模板系统对标签的解释是在渲染的过程中提供相应的逻辑,比如Python 语言中 if…else 语句、with 语句、

    2024年02月03日
    浏览(39)
  • 【Python】【进阶篇】14、Django创建第一个项目

    在上一章中,我们完成了开发环境的搭建工作。 本章我们将学习如何创建 Django 项目以及 Django 项目的初始化,我们将创建一个名为 BookStore 的 Django 项目,用此项目来讲解 Django 框架的部分知识,通过这个项目我们将一起打开 Django 世界的大门。 1) BookStore项目创建 我们创建一

    2024年02月02日
    浏览(52)
  • Python学习笔记_进阶篇(三)_django知识(二)

    本章内容 Django model django默认支持sqlite,mysql, oracle,postgresql数据库。 1 sqlite django默认使用sqlite的数据库,默认自带sqlite的数据库驱动 引擎名称:django.db.backends.sqlite3 2mysql 引擎名称:django.db.backends.mysql 1、配置文件中sqlite 2、配置文件中mysql 注:由于Django内部连接MySQL时使用的

    2024年02月12日
    浏览(41)
  • Python学习笔记_进阶篇(二)_django知识(一)

    本章简介: Django 简介 Django 基本配置 Django url Django view Django 模板语言 Django Form Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的。并于

    2024年02月12日
    浏览(46)
  • Python学习笔记_进阶篇(四)_django知识(三)

    本章内容: Django 发送邮件 Django cookie Django session Django CSRF 我们常常会用到一些发送邮件的功能,比如有人提交了应聘的表单,可以向HR的邮箱发邮件,这样,HR不看网站就可以知道有人在网站上提交了应聘信息。今天我们尝试用django发送邮件做尝试 1、配置相关参数settings 往

    2024年02月11日
    浏览(47)
  • 二挡起步——pythonweb开发Django框架,前端原生+Django后端框架+python网络抓包(代替数据库数据)(附带小案例)

     大家好,我是csdn的博主: lqj_本人 这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主 lqj_本人擅长微信小程序,前端,python,等方面的知识 https://blog.csdn.net/lbcyllqj?spm=1011.2415.3001.5343 哔哩哔哩欢迎关注: 小淼Develop 小淼Develop的个人空间-小淼Develop个

    2024年02月03日
    浏览(87)
  • 【Python】【进阶篇】34、Django Meta元数据类属性解析

    Model 是 Django ORM 的核心,它有许多特性,比如我们提到过的模型类继承,还有未讲到过的的元数据。每个 Model 都是一个 Python 类,且通常会包含四个部分,它们分别如下: 继承自 django.db.model.Model; Model 元数据声明; Filed类型字段; 魔术方法__str__ 除了元数据以外,其他三个

    2024年02月04日
    浏览(51)
  • 【Python】【进阶篇】39、Django F对象和Q对象查询详解

    F对象查询与Q对象查询,刚看到大家一定会感到很陌生,其实它们也是 Django 提供的查询方法,而且非常的简单的高效,对于一些特殊的场景需求应用起来非常的合适,在本节我们将对这两种查询方法进行讲解,帮助大家掌握它们的使用方法以及适合应用的场景。 F对象主要用

    2024年02月05日
    浏览(39)
  • Python智能家居系统后端源码,基于Django+MQTT+ESP8266的智能家居系统源码

    代码下载地址:Python智能家居系统后端源码 服务器硬件环境: 处理器:Intel® Xeon® CPU E5-2680 v4 @ 2.40GHz 1核 内存:2GB 硬盘空间:60GB 单片机环境: 单片机:ESP8266-12E NodeMCU 开发环境:Arduino IDE(1.8.19) 软件环境: 操作系统:Ubuntu 18.04 LTS 编程语言:Python(3.7.9) Web后端框架:

    2024年02月02日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包