Django分页操作实例

分页操作

  • Django提供了一些类实现管理数据分页,这些类位于django/core/paginator.py中

Paginator对象

  • Paginator(列表,int):返回分页对象,参数为列表数据,每面数据的条数
属性
  • count:对象总数
  • num_pages:页面总数
  • page_range:页码列表,从1开始,例如[1, 2, 3, 4]
方法
  • page(num):下标以1开始,如果提供的页码不存在,抛出InvalidPage异常
异常exception
  • InvalidPage:当向page()传入一个无效的页码时抛出
  • PageNotAnInteger:当向page()传入一个不是整数的值时抛出
  • EmptyPage:当向page()提供一个有效值,但是那个页面上没有任何对象时抛出

Page对象

创建对象
  • Paginator对象的page()方法返回Page对象,不需要手动构造
属性
  • object_list:当前页上所有对象的列表
  • number:当前页的序号,从1开始
  • paginator:当前page对象相关的Paginator对象
方法
  • has_next():如果有下一页返回True
  • has_previous():如果有上一页返回True
  • has_other_pages():如果有上一页或下一页返回True
  • next_page_number():返回下一页的页码,如果下一页不存在,抛出InvalidPage异常
  • previous_page_number():返回上一页的页码,如果上一页不存在,抛出InvalidPage异常
  • len():返回当前页面对象的个数
  • 迭代页面对象:访问当前页面中的每个对象

代码示例

1. 创建项目mydemo
创建视图pagTest
from django.core.paginator import Paginatordef pagTest(request, pIndex):list1 = AreaInfo.objects.filter(aParent__isnull=True)p = Paginator(list1, 10)if pIndex == '':pIndex = '1'pIndex = int(pIndex)list2 = p.page(pIndex)plist = p.page_rangereturn render(request, 'booktest/pagTest.html', {'list': list2, 'plist': plist, 'pIndex': pIndex})
配置url
path('pag<int:pIndex>/', views.pagTest, name='pagTest'),
定义模板pagTest.html
<!DOCTYPE html>
<html>
<head><title></title>
</head>
<body>
<ul>
{%for area in list%}
<li>{{area.id}}--{{area.atitle}}</li>
{%endfor%}
</ul>{%for pindex in plist%}
{%if pIndex == pindex%}
{{pindex}}&nbsp;&nbsp;
{%else%}
<a href="/pag{{pindex}}/">{{pindex}}</a>&nbsp;&nbsp;
{%endif%}
{%endfor%}
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/841119.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode面试经典150题】101. 对称二叉树

一、题目 101. 对称二叉树 - 力扣&#xff08;LeetCode&#xff09;给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 二、思路 解法一&#xff1a;只能说似曾相识&#xff0c;是前两道题的融合&#xff0c;一棵树如果对称&#xff0c;那我将他的左子树或者右子树…

仅需一块 4GB 的 GPU ,就能运行开源大语言模型:Llama3 70B

最强的开源大语言模型 Llama3 已经发布一段时间了&#xff0c;一些盆友资源有限&#xff0c;私信询问是否可以使用 4GB 的 VRAM 在本地运行 Llama3 70B。 与 GPT-4 相比&#xff0c;Llama3 的性能如何&#xff1f;Llama3 使用了哪些关键的前沿技术使其变得如此强大&#xff1f…

WordPress插件优化对提升性能有多大影响?

WordPress插件优化对提升性能的影响可以是非常显著的。插件是WordPress平台的一个重要组成部分&#xff0c;它们可以增强网站的功能和定制性。然而&#xff0c;如果插件没有经过优化&#xff0c;它们可能会成为网站性能的瓶颈。 通过优化插件&#xff0c;可以减少对服务器资源…

GDB对Linux信号的处理方式

前言 在软件开发过程中&#xff0c;调试工具是程序员不可或缺的助手。GDB&#xff08;GNU Debugger&#xff09;作为一个强大的调试器&#xff0c;广泛应用于Linux系统中的C/C程序调试。然而&#xff0c;信号处理机制的复杂性常常给调试带来挑战。特别是在处理异步和同步信号时…

WordPress外贸建站服务的实际案例分析

在竞争激烈的外贸市场&#xff0c;提升用户体验是吸引和保留客户的关键。WordPress外贸建站服务通过结合设计、功能和性能&#xff0c;有效地提升了用户体验。本文将通过实际案例分析&#xff0c;深入探讨如何在WordPress外贸建站中提升用户体验的关键策略。 1. 优化导航和布局…

1517. 查找拥有有效邮箱的用户

1517. 查找拥有有效邮箱的用户 题目链接&#xff1a;1517. 查找拥有有效邮箱的用户 代码如下&#xff1a; # Write your MySQL query statement below select * from Users where mail REGEXP ^[a-zA-Z][a-zA-Z0-9_.-]*\\leetcode\\.com$

深入理解指针(5)

在之前的深入理解指针(4)中我们学习了回调函数相关知识&#xff0c;并且学会了如何使用库函数qsort&#xff0c;以及模拟实现了qsort&#xff0c;接下来在本篇中将对srtlen和sizeof进行细致的讲解&#xff0c;并对相关的题型进行讲解&#xff0c;一起加油吧&#xff01;&#x…

开放式耳机哪个品牌音质好用又实惠耐用?五大公认卷王神器直入!

​在现今耳机市场&#xff0c;开放式耳机凭借其舒适的佩戴体验和独特的不入耳设计&#xff0c;备受消费者追捧。它们不仅让你在享受音乐时&#xff0c;仍能察觉周围的声音&#xff0c;确保与人交流无障碍&#xff0c;而且有利于耳朵的卫生与健康。对于运动爱好者和耳机发烧友而…

ASP+ACCESS酒店房间预约系统设计

摘要 随着国内经济形势持续发展&#xff0c;国内酒店业进入难得的发展高峰期&#xff0c;使得中外资本家纷纷将目光投向中低端市场。然而&#xff0c;中国酒店业的区域结构不合理、竞争手段不足和市场对经济型酒店的需求日益显露&#xff0c;以及2008年北京奥运会、2010年上海…

数据分析工程师——什么是数据分析?

数据分析工程师 对于目前就业市场上的技术岗位,除了开发、测试、运维等常见职位之外,数据类岗位也越来越成为热门的求职方向。本文将重点介绍 数据分析 这一新兴岗位。 看到「数据分析」这几个字,也许大家的第一印象一样,觉得要做的工作似乎并不难,有大量数据后根据业务…

平衡二叉树的思想与代码

hello,大家好我是新手小白,今日学习到平衡二叉树,就复习了一下。并在此与大家分享!对于平衡二叉树的思想可以先借阅方法一所说书籍或者其他作者的文章! 我将从两个方法进行讲解及其代码内容 进行展示,方法一是我学习课程书上的,方法二是我在上课时候根据现在时代拥有大…

状态转换图

根据本章开头讲的结构化分析的第3条准则,在需求分析过程中应该建立起软件系统的行为模型。状态转换图(简称为状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。此外,状态图还指明了作为特定事件的结果系统将做哪些动作(例如,处理数据)。因此,状态图提供了…

【建议收藏】逻辑回归面试题,机器学习干货、重点。

今天是机器学习面试题&#xff0c;16大块的内容&#xff0c;124个问题总结的第二期&#xff1a;逻辑回归面试题。 逻辑回归是一种用于解决分类问题的统计学习方法&#xff0c;尤其在二分类问题中非常常见。尽管它的名称中包含"回归"一词&#xff0c;但实际上逻辑回归…

JS闭包、原型链简单理解

目录 1.闭包概念 1.1简单demo1: 1.2简单demo2 1.3使用let代替var解决这个问题 2.函数对象和原型链 ​编辑 2.1函数对象demo 2.2.原型链demo 3.使用闭包完成JQuery的一个小demo 1.闭包概念 1.当函数声明时&#xff0c;函数会通过内部属性[scope]来创建范围 2.闭包一个…

Android窗口管理

一 概述 本篇文章主要讲 Window、WindowManager、WindowManagerService 三者之间的关系及其运行机制。总的来说 Window 表示的是一种抽象的功能集合&#xff0c;具体实现为 PhoneWindow。WindowManager 是外界访问 Window 的入口&#xff0c;对 Window 的访问必须通过 Window…

Socket 函数详细讲解(Socket编程步骤、socket函数、TCP和UDP的区别)

Socket 函数详细讲解和 C 示例 一、 Socket 基本概念1. Socket 简介2. Socket 编程步骤3. TCP Socket 编程示例服务器端客户端 4. 详细说明 二、 socket 函数1. domain 通讯的协议家族2. type 数据传输的类型3. protocol 最终使用的协议返回值示例 三、TCP 和 UDP的区别1. TCP&…

微信小程序预览图片和H5使用canvas实现图片+蒙层+文字

1、效果 2.H5实现 <!--* Author: limingfang* Date: 2024-05-20 10:26:51* LastEditors: limingfang* LastEditTime: 2024-05-21 16:31:11* Description: --> <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8&q…

如何设计小程序的站内信功能

设计小程序的站内信功能&#xff0c;需要考虑用户体验、安全性、功能完整性等方面。以下是设计和实现站内信功能的详细步骤和细节&#xff1a; 目录 1. 需求分析2. 数据库设计用户表&#xff08;Users Table&#xff09;消息表&#xff08;Messages Table&#xff09;用户消息…

C++ | Leetcode C++题解之第112题路径总和

题目&#xff1a; 题解&#xff1a; class Solution { public:bool hasPathSum(TreeNode *root, int sum) {if (root nullptr) {return false;}if (root->left nullptr && root->right nullptr) {return sum root->val;}return hasPathSum(root->left…

Java的类和对象

Java的类和对象 前言一、面向过程和面向对象初步认识C语言Java 二、类和类的实例化基本语法示例注意事项 类的实例化 三、类的成员字段/属性/成员变量注意事项默认值规则字段就地初始化 方法static 关键字修饰属性代码内存解析 修饰方法注意事项静态方法和实例无关, 而是和类相…