Django 5企业级Web应用开发实战-分页

【图书介绍】《Django 5企业级Web应用开发实战(视频教学版)》_django 5企业级web应用开发实战(视频教学版)-CSDN博客

《Django 5企业级Web应用开发实战(视频教学版)》(王金柱)【摘要 书评 试读】- 京东图书 (jd.com)

Django框架创建后台管理员账户-CSDN博客

Django框架提供了一些类来帮助管理分页(Paginator)数据,即通过"上一页/下一页"链接拆分到多个页面的数据。这些类位于django/core/paginator.py模块中。Django框架使用的分页方法就是通过调用Paginator类来实现的。

Paginator类的语法格式如下:

复制代码
class Paginator(object_list, per_page, orphans=0, allow_empty_first_page=True)

下面是在视图中对查询集进行分页的代码示例,同时提供视图和随附的模板,以说明如何显示结果。具体代码如下:

【代码11-12】

复制代码
01  from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator
02  from django.shortcuts import render
03  
04  def listing(request):
05      contact_list = Contacts.objects.all()
06      paginator = Paginator(contact_list, 25) # Show 25 contacts per page
07      page = request.GET.get('page')
08      contacts = paginator.get_page(page)
09      return render(request, 'list.html', {'contacts': contacts})

HTML模板list.html可以包括页面之间的导航,以及对象本身的任何有趣信息,具体代码如下:

【代码11-13】

复制代码
01  {% for contact in contacts %}
02      {# Each "contact" is a Contact model object. #}
03      {{ contact.full_name|upper }}<br />
04      ...
05  {% endfor %}
06  
07  <div class="pagination">
08      <span class="step-links">
09          {% if contacts.has_previous %}
10              <a href="?page=1"><< first</a>
11              <a href="?page={{ contacts.previous_page_number }}">previous</a>
12          {% endif %}
13  
14          <span class="current">
15              Page {{ contacts.number }} of {{ contacts.paginator.num_pages }}.
16          </span>
17          {% if contacts.has_next %}
18              <a href="?page={{ contacts.next_page_number }}">next</a>
19              <a href="?page={{ contacts.paginator.num_pages }}">last  </a>
20          {% endif %}
21      </span>
22  </div>
相关推荐
飞翔的佩奇1 小时前
【完整源码+数据集+部署教程】表盘指针检测系统源码和数据集:改进yolo11-CA-HSFPN
python·yolo·计算机视觉·数据集·yolo11·表盘指针检测
larance2 小时前
SQLAlchemy 的异步操作来批量保存对象列表
数据库·python
搏博2 小时前
基于Python3.10.6与jieba库的中文分词模型接口在Windows Server 2022上的实现与部署教程
windows·python·自然语言处理·flask·中文分词
lxmyzzs3 小时前
pyqt5无法显示opencv绘制文本和掩码信息
python·qt·opencv
专注API从业者3 小时前
Python + 淘宝 API 开发:自动化采集商品数据的完整流程
大数据·运维·前端·数据挖掘·自动化
萧鼎4 小时前
Python pyzmq 库详解:从入门到高性能分布式通信
开发语言·分布式·python
烛阴4 小时前
TypeScript高手密技:解密类型断言、非空断言与 `const` 断言
前端·javascript·typescript
样子20185 小时前
Uniapp 之renderjs解决swiper+多个video卡顿问题
前端·javascript·css·uni-app·html
yujkss5 小时前
Python脚本每天爬取微博热搜-终版
开发语言·python
yzx9910135 小时前
小程序开发APP
开发语言·人工智能·python·yolo