9 月 13 日,2025 Inclusion・外滩大会「开源嘉年华」正在限量报名中! 了解详情
写点什么

三步实现 Django Paginator 分页

  • 2020-02-11
  • 本文字数:884 字

    阅读完需:约 3 分钟

三步实现Django Paginator 分页

Django 提供了一个新的类来帮助管理分页数据,这个类存放在 django/core/paginator.py.它可以接收列表、元组或其它可迭代的对象。本文将分三步介绍 Django Paginator 分页的实现步骤。

一、通过模型创建 Subject

Django models


from django.db import models   class Subject(models.Model):           """学科""”           no = models.AutoField(primary_key=True, verbose_name="编号")           name = models.CharField(max_length=31, verbose_name="名称")           intro = models.CharField(max_length=511, verbose_name="介绍")           def __str__(self):                   return self.name       
class Meta: db_table = 'tb_subject’ verbose_name_plural = "学科"
复制代码

二、通过 view 模块,要呈现到前端的数据

Django view 的配置


from django.shortcuts import render  from django.core.paginator import Paginator, InvalidPage, EmptyPage, PageNotAnInteger  from vote.models import Subject  def show_subject(request):      """查询学科"""      \#查询Subject 表的所有数据      subjects = Subject.objects.all().order_by("no”)      \#使用Paginator模块对数据分页,一页5条数据      paginator = Paginator(subjects, 5)      \#使用request.GET.get()函数获取uri中的page参数的数值      page = request.GET.get('page')      try:          \#通过获取上面的page参数,查询此page是否为整数并且是否可用          subject_obj = paginator.page(page)      except PageNotAnInteger:          subject_obj = paginator.page(1)      except (EmptyPage, InvalidPage):          subject_obj = paginator.page(paginator.num_pages)      return render(request, "vote/subject.html", {'subject_list': subject_obj})  
复制代码

三、将 view 中的数据渲染到前端模版上

前端分页代码块:




复制代码

四、最终显示效果

1557912403536010029.png


(图片来源于网络)


本文转载自宜信技术学院网站。


原文链接:http://college.creditease.cn/detail/246


2020-02-11 20:251171

评论

发布
暂无评论
发现更多内容

Linux编程_网页视频监控项目

DS小龙哥

6月月更

ES6新特性class类

大熊G

JavaScript 前端 6月月更

InfoQ 极客传媒 15 周年庆征文|【Python技能树共建】异常捕获预处理

梦想橡皮擦

Python 6月月更 InfoQ极客传媒15周年庆

Vim编辑器以及linux常用命令

龙空白白

Linux vim教程

股票获取最大利润

龙空白白

数据结构与算法

数组目标值target两个整数,并返回它们的数组下标

龙空白白

数据结构与算法

【LeetCode】替换数组中的元素Java题解

Albert

LeetCode 6月月更

对接上百个第三方 API 后的思考与沉淀

橘长

经验总结 Java EE 经验分享、

NFT铸造交易平台开发市场详情

开发微hkkf5566

ADB 日志抓取

甜甜的白桃

android adb APK 6月月更

NFT链游GameFi系统开发,元宇宙游戏搭建

薇電13242772558

NFT 元宇宙 链游

MySQL的体系结构

龙空白白

MySQL 数据库

硬核剧透!11个议题、14位大咖,龙蜥社区走进 Intel MeetUp 议程公布!

OpenAnolis小助手

技术分享 intel Meetup 龙蜥社区 线上直播

怎样简洁明了地说清楚产品需求?

LigaAI

高效工作 产品经理 需求 产品设计与思考

子网划分不会?瑞哥带你深入理解IP地址,手把手教你子网划分!

wljslmz

网络技术 6月月更 子网划分

开源字节设计思想

源字节1号

软件开发

【高并发】关于乐观锁和悲观锁,蚂蚁金服面试官问了我这几个问题!!

冰河

并发编程 多线程 高并发 异步编程 6月月更

Java中的static关键字

龙空白白

mixin-- 混入

CRMEB

MySQL基础

龙空白白

MySQL 数据库

java中synchronized关键字

龙空白白

Java Concurrency

二分查找有序数组中的特定值

龙空白白

数据结构与算法

Linux测试端口的连通性

龙空白白

多线程实现的方式

龙空白白

多线程

Django 基础教程

海拥(haiyong.site)

Python django 6月月更

HPCA名人堂成员蒋晓维博士,任职大禹智芯首席科学家

硬科技星球

人工智能 阿里巴巴 大禹智芯 蒋晓维

百度工程师教你玩转设计模式(单例模式)

百度Geek说

设计模式

SAP 云平台多目标应用 Multi-Target Application 的开发技术介绍

汪子熙

云原生 Cloud SAP CloudFoundry 6月月更

数组判断任意出现的重复值

龙空白白

数据结构与算法

最大和的连续子数组

龙空白白

数据结构与算法

三步实现Django Paginator 分页_文化 & 方法_任宏利_InfoQ精选文章