阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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

评论

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

小程序转 App 帮助中小企业打开营销新窗口

FinClip

从0到1开发微信小程序(3)—小程序框架配置

微信小程序专栏

软件测试 | 测试开发 | 接口测试项目实战与经典面试题解析,挑战 BAT 大厂必会!

测吧(北京)科技有限公司

测试

物联网平台在AIoT领域8大场景应用

AIRIOT

低代码 物联网 低代码平台 低代码,项目开发

AntDB基于Oracle兼容下的DECODE函数适配

亚信AntDB数据库

数据库 AntDB 国产数据库 AntDB数据库

什么是接入点 Access point?

wljslmz

网络技术 无线技术 9月月更 无线接入点

软件测试 | 测试开发 | 测试开发基础|一文搞定计算机网络(一)

测吧(北京)科技有限公司

测试

新思科技发布《一往无前:GitOps与安全左移》报告

InfoQ_434670063458

新思科技 开源软件 Synopsys 供应链安全

vue2数据响应式原理——数据劫持(对象篇)

海底烧烤店ai

前端 JavaScrip vue源码解读 9月月更

软件测试 | 测试开发 | 测试人生 | 40+的年龄50W+的年薪,2线城市入职名企,他曾想放弃测试?

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 测试面试真题|工作2年,从小厂到大厂,薪资翻倍是怎样的体验?

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 文未有福利 | BAT 名企大厂做接口自动化如何高效使用 Requests ?

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 测试工程师如何突破职场瓶颈?

测吧(北京)科技有限公司

测试

2022年区块链金融场景化应用专题分析

易观分析

区块链 金融

面试突击83:什么情况会导致@Transactional事务失效?

王磊

Java 面试题

研发效能提升不来自于度量本身,而来自于针对性的改进

万事ONES

忘记背后,努力面前【开学季flag】

Fire_Shield

程序人生 9月月更 开学季

从华为数字机器人秋季发布会,看智慧政务领域的“政务新视界”

王吉伟频道

RPA 自动化优先 智慧政务 华为数字机器人 数字机器人

从0到一开发微信小程序(1)——申请账号并安装开发环境

微信小程序专栏

一键小程序转换App,极低门槛实现组装式App

FinClip

Solo博客静态部署到码云gitee —— 全网最详细系列

海底烧烤店ai

部署 博客系统 博客搭建 9月月更

内核实战教程第五期 _ SQL 执行引擎的设计与实现

OceanBase 数据库

StarRocks 社区一周年:极速统一,感谢遇见!

StarRocks

数据库

软件测试 | 测试开发 | 测试人生 | 入行3年,年薪36W+,从外包到知名互联网公司,疫情之下薪资不止翻倍~

测吧(北京)科技有限公司

测试

跟着卷卷龙一起学Camera--AF

卷卷龙

ISP 9月月更

重磅启动!第 17 届「中国 Linux 内核开发者大会」征稿

OpenAnolis小助手

Linux 征稿 内核 开发者大会 龙蜥社区

跳槽一次能涨多少?一份1500道大厂面试题笔记就够了,涨薪80%

程序知音

Java 程序员 java面试 后端技术 Java八股文

快速入门JavaScript

楠羽

JavaScript 笔记 9月月更

【React】从0到1搭建你的React18项目

海底烧烤店ai

前端 React Hooks 9月月更

SpringCloud Gateway 服务网关的快速入门

Gateway SpringCould 9月月更

从0到1开发微信小程序(2)——开发第一个小程序

微信小程序专栏

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