10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

评论

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

怎么分辨企业转型是“真数字化”还是 “伪数字化”?

雨果

数字化转型

从入门到高手,数据从业者成长一般经过哪些阶段?

雨果

数据工程师必备技能

QCA9880 wallys 2×2 MIMO 802.11ac Mini PCIe 2,4GHz / 5GHz Designed for E

wallys-wifi6

C#/VB.NET 替换 PDF 文件上的现有图像

在下毛毛雨

C# .net PDF 替换图像

TiFlash 源码阅读(六)DeltaTree Index 的设计和实现分析

PingCAP

TiDB TiDB 源码解读

国产系统的不足或许可以靠小程序弥补

Geek_99967b

小程序

开源的价值观与文化的传递

开源社

#开源

数据工程师越做越有成就感的7点经验分享

雨果

数据工程师

Node 之父着急宣布Deno 将迎来重大变革,疑为针对最近大火的“Bun”

雨果

node.js

如何在企业数字化团队内部实现分析建模过程全要素的可获得与成果可复现

ModelWhale

团队协作 数字化转型 全要素场景 代码复现 金融场景

数据结构——二叉树

工程师日月

8月月更

泄露了,Alibaba697页的MySQL应用实战与性能调优手册,太强了

Java编程日记

Java 编程 程序员 面试 架构师

Linux 6.0 第一个候选版本发布

雨果

Liunx

乔布斯之后,下一代触控交互由一家中国公司重新定义

硬科技星球

美国商务部宣布:EDA等四项技术实施新的出口管制,8月15日生效!

雨果

芯片技术

一文搞定架构思维,DFD 的结构化分析,只需明白这3点

老崔说架构

量化交易合约机器人系统开发策略分析

薇電13242772558

量化策略

阿里最新的Spring Boot项目开发实战手册,掀起了项目实战变革狂潮

Java面试那些事儿

Java 编程 程序员 面试 架构师

JSON 之父:JavaScript 已经成为了进步的障碍

雨果

JavaScript

10种有用的Linux Bash_Completion 命令示例

华为云开发者联盟

Linux 后端 开发

少儿编程是智商税吗?不花钱让孩子赢在起跑线!

博文视点Broadview

QCA9882 wallys 802.11AC 802.11AN wifi QCA9882 Module Wireless AC/AN MiniPCIE Standard Card

wallys-wifi6

QCA9882

开源一夏 | 在 STM32L051 上使用 RT-Thread (二、无线温湿度传感器 之 CubeMX配置)

矜辰所致

开源 RT-Thread 8月月更 STM32L051

融会贯通,并行不悖 | 2022年8月《中国数据库行业分析报告》精彩抢先看

墨天轮

数据库 greenplum MPP 国产数据库 HTAP

Solana上的结算协议龙头,Zebec潜力颇受看好

小哈区块

OpenHarmony轻量设备Hi3861芯片开发板启动流程分析

OpenHarmony开发者

OpenHarmony

微服务、网关、服务发现/注册的正确打开方式

Java全栈架构师

Java 程序员 架构 微服务 程序人生

AntDB基于WAL日志的DML数据闪回实现

亚信AntDB数据库

AntDB 国产数据库 AISWare AIDB

开源一夏 | 使用 JavaScript 将文本转换为文件

海拥(haiyong.site)

JavaScript GitHub 开源 前端 8月月更

区块链带你避“坑”,电信诈骗退!退!退!

旺链科技

区块链 产业区块链 电信诈骗

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