写点什么

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

评论

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

助力全球企业和开发者们应对多方网络挑战,腾讯云EdgeOne已成企业高质量出海“首选”

极客天地

微调工程师岗位可能并不存在,但使用 AI 编码工具已经成为刚需

阿里巴巴云原生

阿里云 云原生

谈谈Node.js版本管理工具

伤感汤姆布利柏

用three.js做一个3D汉诺塔游戏(上)

OpenTiny社区

JavaScript 前端 Web OpenTiny

XPath定位如何在App自动化测试中大显神威

霍格沃兹测试开发学社

Web3.0热门领域NFT项目实战数字平台艺术

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

DevOps与低代码

Jianmu

JD商品详情API:京东电商数据整合的关键一环

技术冰糖葫芦

API 接口 API 测试

从0到1:校园生活圈小程序开发笔记(一)

CC同学

使用Docker搭建MySQL数据库服务

霍格沃兹测试开发学社

“产研六力”模型:引领企业创新发展的新路径

凌晞

研发管理 产品管理 #研发

Orangedx:引领新一轮 BTCFi 浪潮

股市老人

网站性能优化最佳实践--如何减少文件体积

观测云

性能优化

Solidity案例详解(七)供应链金融合约

BSN研习社

区块链 Solidity

node.js这些常用命令,你都会了吗?

霍格沃兹测试开发学社

适应多样化需求:WASM 插件在全链路灰度发布中的应用

阿里巴巴云原生

阿里云 微服务 云原生

Docker搭建持续集成平台Jenkins最简教程

霍格沃兹测试开发学社

论低代码开与AI时代的适配性

不在线第一只蜗牛

人工智能 AI 低代码

如何选择性价比高的国外云主机服务?

一只扑棱蛾子

云主机 国外云主机

探索云原生时代:技术驱动的业务架构革新

不在线第一只蜗牛

云计算 架构 云原生

新质生产力与零信任数据安全:携手共创未来

从云科技

数据安全 零信任 新质生产力

Flink 中 Task(任务)的概念、定位及应用详解与易混淆点梳理

木南曌

flink 实时计算

Knative 助力 XTransfer 加速应用云原生 Serverless 化

阿里巴巴云原生

阿里云 云原生 Knative

面对API的安全风险,WAAP全站防护的作用

德迅云安全杨德俊

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