【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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

评论

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

通用编程风格

顿晓

Java 学习 编程风格

架构师训练营学习总结——系统架构【第四周】

王海

极客大学架构师训练营

week04 总结

Geek_2e7dd7

互联网系统架构设计概览

dony.zhang

架构师训练营作业 (第四周)

王海

极客大学架构师训练营

week04

Geek_2e7dd7

极客时间第 0 期架构师训练营第四周总结

2流程序员

大型互联网应用系统的技术方案和手段

周冬辉

典型大型互联网应用系统的技术方案和手段

极客大学架构师训练营 第四周作业 互联网应用技术方案 互联网系统架构 互联网系统特点

架构师训练营第 04 周—— 练习

李伟

极客大学架构师训练营

链技术如何提升金融行业安全与互信

CECBC

百度 区块链技术 超级链 探索与实践

浅谈比特币匿名的意义

CECBC

「架构师训练营」第 4 周作业 - 一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题

guoguo 👻

极客大学架构师训练营

第四周作业

赵龙

第四周总结

赵龙

程序员如何提升自己横向能力?

Boss.Guo

团队建设 能力提升 人才培养 个人总结

架构师训练营 No.4 周总结

连增申

信创舆情一线--数据安全法草案提请初审

统小信uos

大数据 安全

西博泰科携手中国电信共同抢占NB-IoT新赛道

Geek_116789

互联系统架构演化史之感

旭东(Frank)

架构 感悟 极客大学架构师训练营

愿景集团与聚盛国际达成战略合作共建外汇市场新篇章

Geek_116789

架构师训练营第4周作业

不谈

极客大学架构师训练营

架构师训练营第4周——学习总结

极客大学架构师训练营 互联网架构模式 互联网架构的演进

写给大忙人看的操作系统(内附思维导图)

cxuan

后端 操作系统

架构师训练营第四周 架构分析

suke

极客大学架构师训练营

架构师训练营第四周作业

张锐

区块链技术打通信用壁垒赋能租赁业务

CECBC

去中心 区块链技术 防篡改 去信任

架构师训练营-第四章-学习总结

而立

极客大学架构师训练营

架构师训练营——第四周总结

jiangnanage

「架构师训练营」第 4 周作业

旭东(Frank)

大型互联网应用系统常用技术(持续更新)

2流程序员

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