写点什么

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

评论

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

吃透阿里大佬整理的Java面试要点手册,成功五面进阿里(二本学历)

Java架构追梦

Java 学习 架构 面试 核心知识点整理

1分钟带你get React setState 面试要点

Leo

面试 大前端 React setState

批处理 有状态等应用类型在K8S上应该如何配置?

东风微鸣

Kubernetes 最佳实践

Microsoft Azure机器学习采用NVIDIA AI为Word编辑器提供语法建议

ArCall功能介绍手册

anyRTC开发者

ios 音视频 WebRTC RTC 安卓

趣味科普丨一文读懂云服务器的那些事儿

华为云开发者联盟

镜像 服务器 服务

架构训练营第一周学习小结

李日盛

自动化测试框架类型,你知道几种?此处介绍5种比较常见的

软测小生

软件测试 自动化测试框架 软件自动化测试

DDIA 读书笔记(2)数据模型的存储与检索

莫黎

读书笔记

解析 CloudQuery 审计分析功能

BinTools图尔兹

数据库 sql 安全 工具软件

JavaScript 类型 — 重学 JavaScript

三钻

Java 大前端

GitLab用户切换引发的某程序员“暴动”,怒而开源项目源码

小Q

Java git 学习 开发 代码仓库

Vidyo产品给用户方带来了什么直接的便利

dwqcmo

音视频 集成架构 解决方案 智能硬件

mPaaS x Menxlab | 1024程序员节:Talk is cheap,Show me the AppID

蚂蚁集团移动开发平台 mPaaS

程序员 开发者 mPaaS 1024

容器化应用系统上生产的最佳实践

东风微鸣

Kubernetes 最佳实践 生产

数据湖探索DLI新功能:基于openLooKeng的交互式分析

华为云开发者联盟

数据 处理

spring-boot-route(二十二)实现邮件发送功能

Java旅途

Java Spring Boot 发送邮件

学习总结

饺子

架构师训练营第一周课后作业

李日盛

学了那么多 NoSQL 数据库 NoSQL 究竟是啥

哈喽沃德先生

数据库 nosql 非关系型数据库

攻克金融系统开发难点,借助SpreadJS实现在线导入Excel自定义报表

葡萄城技术团队

SpreadJS 在线导入excel

机器学习是什么?

马同学

学习

AI让远程交流“更清晰”:GAN消除视频通话中的抖动

全面到哭!BAT内部Java求职面试宝典,必须人手一份!

Java架构之路

Java 程序员 架构 面试 编程语言

面试官的灵魂一击:你懂 MySQL 事务日志吗?

Java架构师迁哥

标准的开发框架,对企业开发有多重要?

Learun

敏捷开发 快速开发

数据安全无小事:揭秘华为云GaussDB(openGauss)全密态数据库

华为云开发者联盟

安全 数据 加密

千万不要往 Shell 里粘贴命令!

大道至简

命令行

LeetCode题解:98. 验证二叉搜索树,递归中序遍历过程中判断,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

iOS性能优化 — 一、crash监控及防崩溃处理

iOSer

性能优化 ios开发 Crash 监控及防崩溃处理

架构师训练营第五周学习总结

尹斌

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