写点什么

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

评论

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

架构模块六

小马

「架构实战营」

老板对技术部产出不满意怎么办?

石云升

产品思维 职场经验 管理经验 5月月更

单片机开发入门知识介绍

DS小龙哥

5月月更

AI简报-逆光也清晰-色彩增强算法CURL

AIWeker

人工智能 深度学习 5月月更 AI简报

【ELT.ZIP】OpenHarmony啃论文俱乐部——人工智能短字符串压缩

ELT.ZIP

人工智能 鸿蒙 数据压缩 ELT.ZIP

计算机网络——物理层

工程师日月

计算机网络 5月月更

Nacos 开源之夏 2022 来了

阿里巴巴云原生

阿里云 开源 微服务 云原生 nacos

成本节省 50%,10 人团队使用函数计算开发 wolai 在线文档应用

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算

比特币价格预测两极分化:跌至1万美元还是涨至10万美元?

CECBC

【ELT.ZIP】OpenHarmony啃论文俱乐部——电子设备软件更新压缩

ELT.ZIP

鸿蒙 rsync 数据压缩 ELT.ZIP

拆分电商系统为微服务

踩着太阳看日出

架构训练营

在线火星文转换器工具

入门小站

工具

运动健康深入人心,MOVE PROTOCOL引领品质生活

BlockChain先知

聊聊我对质量度量的看法

老张

软件测试 质量保障

《SaaS产品经理从菜鸟到专家》读书笔记

圣迪

产品 产品经理 SaaS tob tob产品

微信朋友圈高性能架构设计

极客土豆

Bigdata 作业 第11周

Pyel

拆分电商系统为微服务

流火

最好用的 8 款 React Datepicker 时间日期选择器测评推荐

蒋川

react.js 组件 组件库 低代码平台 Javascript框架

九、云原生链路追踪

穿过生命散发芬芳

链路追踪 5月月更

在线HTML转XML工具

入门小站

工具

flask框架的学习笔记【二】

恒山其若陋兮

5月月更

提效客户体验管理:结合 K-Means 聚类和 RFM 模型的客户分群

龙国富

RFM 客户分群 K-Means

阿里巴巴在 Envoy Gateway 的演进历程浅析

阿里巴巴云原生

阿里云 Kubernetes 云原生

【LeetCode】交换链表中的节点Java题解

Albert

LeetCode 5月月更

Java Core「2」synchronized 关键字

Samson

学习笔记 5月月更 Java core

拆分电商系统为微服务

大眼喵

「架构实战营」

HashMap 源码分析-基础结构

zarmnosaj

5月月更

为了兼容IE,配置Babel+Webpack

空城机

webpack 5月月更

架构实战营模块 6 作业

热猫

【ELT.ZIP】OpenHarmony啃论文俱乐部——多层存储分级数据压缩

ELT.ZIP

鸿蒙 数据压缩 ELT.ZIP HCompress

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