写点什么

三步实现 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:251084

评论

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

Linux学习有用吗?《Linux一学就会》教你如何学会Linux

侠盗安全

Linux 运维 云计算架构师 linux电子书

vue3 学习笔记 (三)——vue3 自定义指令

码仔

Vue3 自定义指令

复杂业务系统高扩展架构设计与实践

鲸品堂

构架

基于CarbonData的电信时空大数据探索

华为云开发者联盟

大数据 网络 电信 CarbonData 无线通信网络

加速云原生应用落地,焱融 YRCloudFile 与天翼云完成兼容性认证

焱融科技

云计算 分布式 云原生 高性能 文件存储

本周话题:元宇宙到底是不是未来?

InfoQ写作社区官方

话题讨论 元宇宙

使用kubeadm快速搭建K8s环境

walker12138

【活动预告】Apache ShardingSphere 5.0.0 全新 Database Plus 架构演进

SphereEx

开源社区 ShardingSphere TiDB SphereEx 线下沙龙

详解阿里开源分布式事务框架Seata

博文视点Broadview

如何与 Dapr 集成打造 Apache APISIX 网关控制器

API7.ai 技术团队

云原生 网关 dapr Apache APISIX ingress-controller

Hadoop 入门笔记—核心组件 YARN

编程江湖

大数据 hadoop

云小课|打造企业数据“高内聚,低耦合”--试试GaussDB(DWS)逻辑集群,实现数据物理隔离

华为云开发者联盟

EI企业智能 数据仓库服务GaussDB(DWS) 逻辑集群

Java开发基础之开发环境搭建

@零度

JAVA开发

「Oracle」Oracle 数据库基本概念

恒生LIGHT云社区

数据库 oracle

CWE4.6标准中加入 OWASP 2021 TOP10

华为云开发者联盟

漏洞 cwe 软件安全 CWE4.6 OWASP

模块四 千万级学生管理系统的考试试卷存储方案

龙智携手Atlassian亮相GOPS全球运维大会,助力企业高效开发与运维

龙智—DevSecOps解决方案

运维 运维大会 GOPS大会

JSRE中的多任务与多线程

编程江湖

html5 大前端

高可用是什么意思啊?行云管家支持高可用部署吗?

行云管家

高可用 服务器 IT运维

微信 ClickHouse 实时数仓的最佳实践

科技热闻

深入理解 volatile 关键字

编程江湖

volatile JAVA开发

破解数据匮乏现状:纵向联邦学习场景下的逻辑回归(LR)

华为云开发者联盟

联邦学习 数据隐私 数据安全 逻辑回归 纵向联邦学习

Apache APISIX request_uri 变量控制不当,存在路径穿透风险公告(CVE-2021-43557)

API7.ai 技术团队

Apache 云原生 漏洞修复 Apache APISIX ingress-controller

【干货】大数据开发之Spark总结

@零度

大数据 spark

Kvrocks 发布 Exporter 工具

Kvrocks

redis Prometheus kvrocks

HBase 的协处理器详细剖析

五分钟学大数据

11月日更

基于内存通信的gRPC调用

Robert Lu

gRPC Go 语言

架构实战营模块 9 作业指导

华仔

架构实战营

《致命愿望》:与魔鬼签订契约

爱奇艺技术产品团队

Java 项目中使用 Resilience4j 框架实现异步超时处理

码语者

Java TimeLimiter 超时管理

前端开发规范之代码规范

@零度

大前端

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