写点什么

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

评论

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

小区搜索过程

柒号华仔

5G 7月月更

当大数据架构遇上 TiDB

TiDB 社区干货传送门

实践案例

TiDB系统调参实战经验

TiDB 社区干货传送门

性能调优 实践案例

聊聊乐观锁 & 悲观锁

Steven

TiDB+FLINK 实时计算

TiDB 社区干货传送门

实践案例

TiDB 4.0 新特性也太爽了吧

TiDB 社区干货传送门

版本测评

DELETE Statement,懂你不容易

TiDB 社区干货传送门

TiDB 底层架构

TypeScript学习后续之受挫的经历

为自己带盐

7月月更

解读《深入理解计算机系统(CSAPP)》第6章存储器层次结构

小明Java问道之路

cpu 内存 存储器 高速缓存 7月月更

价值几十万的 TiDB优化

TiDB 社区干货传送门

实践案例

TiDB升级5.0.2有惊喜

TiDB 社区干货传送门

版本测评

从一个简单的Delete删数据场景谈TiDB数据库开发规范的重要性

TiDB 社区干货传送门

故障排查/诊断

记一次TiDB优化

TiDB 社区干货传送门

性能调优

【SOP 系列】TiDB 使用 SOP 最全合集

TiDB 社区干货传送门

TiDB 底层架构

一条 like 条件的慢 SQL 语句优化

TiDB 社区干货传送门

管理与运维

TSO 时间戳转换为自然时间

TiDB 社区干货传送门

实践案例

排序算法总结

乌龟哥哥

7月月更

TiDB 5.1 发版,打造更流畅的企业级数据库体验

TiDB 社区干货传送门

新版本/特性发布

Python Asyncio 二探:使用和用途

宇宙之一粟

Python asyncio 7月月更

成年人的周末 2022.7.10

贾献华

7月月更

Spring IOC II

武师叔

7月月更

SpringBoot核心应用第一弹

Java学术趴

7月月更

Spring&SpringBoot 源码笔记整理 |Bean 的加载流程一

自由

Spring5源码解析 7月月更

PD 关于ID分配的源码分析

TiDB 社区干货传送门

TiDB 底层架构

【TiDB 最佳实践系列】如何高效利用 Grafana 监控分析 TiDB 指标?

TiDB 社区干货传送门

监控

TIDB 入门运维基础视频教程(一)-- 快速体验

TiDB 社区干货传送门

安装 & 部署

前端食堂技术周刊第 44 期:Bun、Vue.js 挑战、React 状态管理的新浪潮、Can I DevTools、函数式编程

童欧巴

Vue React Bun

TiDB 目录结构分析

TiDB 社区干货传送门

实践案例

悲观事务加锁验证

TiDB 社区干货传送门

管理与运维

TiDB 在网易游戏的应用实践

TiDB 社区干货传送门

实践案例

继承

Jason199

js 继承 7月月更

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