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
更多内容推荐
02|用 LangChain 快速构建基于“易速鲜花”本地知识库的智能问答系统
直观感受一下 LangChain 作为一个基于大语言模型的应用开发框架,功能到底有多么强大吧!
2023-09-11
Django 3.1 发布,支持异步 view 和 middleware
Django 3.1 现已正式发布。
Realm 为 Node.js 发布对象数据库
Realm为Node.js启动了一个对象数据库项目,使用这款数据库,移动开发者可以向客户端发送预处理的Realm对象。
机器学习与 JavaScript(二)
机器学习与JavaScript系列文章的第二篇,主要介绍K-Nearest-Neighbours算法。
Django 查看操作数据库的执行命令
如何查看Django对数据库的操作语句?来吧,这里你就知道了
2020-08-13
@RequestParam、@ModelAttribute、
@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);
2022-04-25
37|直播完整实现:使用 Nginx-rtmp-module 配置 RTMP 直播服务
这节课我们将会整合直播所有的流程以及相关的功能接口,让系统更完备。
2023-07-17
4. 复杂查询:JOIN - ON 用法
2023-09-26
如何使用 Neo4J 和 Transformer 构建知识图谱
本文将展示如何使用经过优化的、基于转换器的命名实体识别(NER)以及spaCy的关系提取模型,基于职位描述创建一个知识图谱。
如何构建一个简单的 Node.js REST API
这篇文章中,我们会使用 Express、Sequelize 和 MySQL 构建一个 Node.js Rest API。这里我们将使用 Sequelize 来与 MySQL 实例交互。
路由树:Beego、Gin、Echo 实现与设计总结
2023-09-26
ShardingSphere 知识库更新 | 官方样例集助你快速上手
Apache ShardingSphere 作为 Apache 顶级项目,是数据库领域最受欢迎的开源项目之一。经过 5 年多的发展,ShardingSphere 已获得超 14K Stars 的关注,270+ 贡献者,建立起了活跃的社区生态。
2021-08-20
GraphQL 到底怎么用?看看这个例子就知道了
GraphQL究竟是什么东西?
腾讯云高级工程师如何玩转 PG 查询处理与执行器算法
本文介绍PostgreSQL的查询处理过程。
SQLer:无需编程语言即可将 SQL 查询转换为 RESTful API 的工具
SQLer是一个微型http服务器,用Go语言编写,接受sql封装成宏然后执行。
1. Context 简介
2023-09-26
4. ORM 框架总结和面试要点
2023-09-26
数据库优化之 explain 的使用和常用的 SQL 优化或索引优化
id:SQL语句使用的索引
2021-10-10
开源跨平台推荐算法框架 LibRec:包含 70 余例推荐算法
本文细致的总结了LibRec项目中整个模块的规划以及每一个模块的功能构成,并最终演示了基于当前项目的模块进行推荐的完整代码。在整个模块的设计过程中,以易用,高内聚,低耦合为目标进行设计,力求使得LibRec项目可以成为一个高扩展的算法框架。从最终的执行结果来看,目前LibRec的结构完全满足了当初进行2.0版本研发时的所有需求。同时,在LibRec优良的模块化基础上,其内置的算法的丰富性,配置的灵活性,框架的易用性以及计算流程的清晰性使得LibRec成为推荐领域内不可多得的推荐平台。
Laravel Eloquent Builder 的使用、源码分析总结
操作数据库。Laravel中关键字都实现在了下面两个类中:Builder的一些用法。语句创建存储评论的数据库表,并生成Laravel对应的Model,用于检索数据库中的数据。
推荐阅读
Django 笔记十五之 in 查询及 date 日期相关过滤操作
2023-04-23
24.Gateway 路由案例搭建
2023-09-29
Django 笔记七之 ManyToMany 和 OneToOne 介绍
2023-04-11
15|检索增强生成:通过 RAG 助力鲜花运营
2023-10-11
Apache Doris 支持 Arrow Flight SQL 协议,数据传输效率实现百倍飞跃
数据库Django 笔记三十四之分页操作
2023-05-21
5. 并发编程:context 底层实现、面试要点与总结
2023-09-27
电子书
大厂实战PPT下载
换一换 刘志强 | 奇虎360 信息流产品部算法高级研究员
段和尘 | 字节跳动 今日头条 Android 架构负责人
钟敬 | Thoughtworks 首席咨询师
评论