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 中的数据渲染到前端模版上
前端分页代码块:
四、最终显示效果
(图片来源于网络)
本文转载自宜信技术学院网站。
原文链接:http://college.creditease.cn/detail/246
更多内容推荐
GraphQL 到底怎么用?看看这个例子就知道了
GraphQL究竟是什么东西?
Django 如何获取 Model 字段列表?
在平时的开发过程中,避免不了需要获取 Model 中的字段列表。
2022-05-06
Django 3.1 发布,支持异步 view 和 middleware
Django 3.1 现已正式发布。
Django QuerySet 就学那么一点点,一点点就够了
橡皮擦,一个逗趣的互联网高级网虫。新的系列,让我们一起进入 Django 世界。
2021-08-13
机器学习与 JavaScript(二)
机器学习与JavaScript系列文章的第二篇,主要介绍K-Nearest-Neighbours算法。
机器学习与 JavaScript(一)
详细来讲,基于JavaScript的机器学习是有可能的,并且我总是很吃惊为什么开发者们没有给予它应有的关注。就scikit-learn算法库而言,JavaScript开发者已经开发出一些实现了该算法的库,一会儿就会用到一个库。接下来会先讲一点机器学习的知识,然后就放松心情一起来看代码吧。
加餐|GPT 编程(下) :如何利用 OpenAI 的 API 解决语言处理类任务?
如何利用OpenAI的API解决语言处理类任务?
2023-05-15
30|后端功能接口实战(二):后端接口该如何开发?
这节课,我们继续来学习如何实现视频相关、数据相关的功能接口。
2023-06-30
开源跨平台推荐算法框架 LibRec:包含 70 余例推荐算法
本文细致的总结了LibRec项目中整个模块的规划以及每一个模块的功能构成,并最终演示了基于当前项目的模块进行推荐的完整代码。在整个模块的设计过程中,以易用,高内聚,低耦合为目标进行设计,力求使得LibRec项目可以成为一个高扩展的算法框架。从最终的执行结果来看,目前LibRec的结构完全满足了当初进行2.0版本研发时的所有需求。同时,在LibRec优良的模块化基础上,其内置的算法的丰富性,配置的灵活性,框架的易用性以及计算流程的清晰性使得LibRec成为推荐领域内不可多得的推荐平台。
13|代理(下):结构化工具对话、Self-Ask with Search 以及 Plan and execute 代理
趁热打铁,学习几种更为复杂的代理。
2023-09-28
Python 报错:ImportError cannot import name 'imresize'
原文链接
2023-01-13
谈谈 Rack 的协议与实现
基本上每天都与 Rails 的各种 API 以及数据库打交道
netty 系列之:EventLoop,EventLoopGroup 和 netty 的默认实现
在netty中不管是服务器端的ServerBootstrap还是客户端的Bootstrap,在创建的时候都需要在group方法中传入一个EventLoopGroup参数,用来处理所有的ServerChannel和Channel中所有的IO操作和event。
2022-02-23
哈希吧,滚雪球学 Python 哈希表与可哈希对象
Python 哈希表与可哈希对象 11.1 哈希表(散列表) 11.2 可哈希与不可哈希 11.3 Python hash() 函数 11.4 hashlib 模块
2021-03-15
翻译:《实用的 Python 编程》07_01_Variable_arguments
《Practical Python Programming》By dabeaz
2021-03-20
25|Blueprint 与 Redprint:如何让程序进行模块化处理?
在Flask框架中,我们如何实现模块化呢?这就要用到今天要学的内容——蓝图和红图了。
2023-06-19
Python 报错:ModuleNotFoundError: No module named 'xxx'
原文链接
2023-01-13
37|直播完整实现:使用 Nginx-rtmp-module 配置 RTMP 直播服务
这节课我们将会整合直播所有的流程以及相关的功能接口,让系统更完备。
2023-07-17
02|用 LangChain 快速构建基于“易速鲜花”本地知识库的智能问答系统
直观感受一下 LangChain 作为一个基于大语言模型的应用开发框架,功能到底有多么强大吧!
2023-09-11
如何构建一个简单的 Node.js REST API
这篇文章中,我们会使用 Express、Sequelize 和 MySQL 构建一个 Node.js Rest API。这里我们将使用 Sequelize 来与 MySQL 实例交互。
推荐阅读
15|检索增强生成:通过 RAG 助力鲜花运营
2023-10-11
21|部署一个鲜花网络电商的人脉工具(下)
2023-10-25
20|部署一个鲜花网络电商的人脉工具(上)
2023-10-23
Django 笔记七之 ManyToMany 和 OneToOne 介绍
2023-04-11
使用 openpyxl 库读取 Excel 文件数据
2023-11-07
Verilog HDL 行为级建模
2023-01-31
py 基础知识点归纳总结
2023-07-02
电子书
大厂实战PPT下载
换一换 李大元 | 蚂蚁集团 技术专家
陶松桥 | 腾讯 操作系统研发高级工程师
林国强 | 顺丰科技有限公司 大数据架构负责人
评论