Django-分页

news/2024/11/13 0:24:26 标签: django, python, 后端

定义:

 InvalidPage:

page对象定义:

Page对象属性:

练习:

urls:

python">from django.urls import path
from . import views
urlpatterns = [
    path('test_page',views.test_page)
]

views:

python">def test_page(request):
    page_num = request.GET.get('page',1)
    all_data = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v]','w','x','y','z']
    # 初始化paginator对象
    paginator = Paginator(all_data,2)
    # 初始化具体页码的page对象
    c_page = paginator.page(int(page_num))
    return render(request,'node/test_page.html',locals())

templates.test_page:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>分页</title>
</head>
<body>
    {% for p in c_page %}
        <p>
            {{ p }}
        </p>
    {% endfor %}

    {% if c_page.has_previous %}
        <a href="/node/test_page?page={{ c_page.previous_page_number }}">上一页</a>
    {% else %}
        上一页
    {% endif %}

    {% for i in paginator.page_range %}
        {% if i == c_page.number %}
            {{ i }}
        {% else %}
            <a href="/node/test_page?page={{ i }}">{{ i }}</a>
        {% endif %}
    {% endfor %}

    {% if c_page.has_next %}
        <a href="/node/test_page?page={{ c_page.next_page_number }}">下一页</a>
    {% else %}
        下一页
    {% endif %}
</body>
</html>

 结果展示:

 


http://www.niftyadmin.cn/n/5731491.html

相关文章

第十九章 Vue组件之data函数

目录 一、引言 二、示例代码 2.1. 工程结构图 2.2. main.js 2.3. App.vue 2.4. BaseCount.vue 三、运行效果 一、引言 在Vue CLI脚手架中一个组件的data选项必须是一个函数&#xff0c;以此保证每个组件实例&#xff0c;维护独立的一份数据对象。每次创建新的组件实…

Linux_04 Linux常用命令——tar

一、命令格式 tar [选项] [归档文件] [要处理的文件或目录]1、选项 c创建归档文件x解压缩归档文件z使用gzipj使用bzip2v处理过程显示信息f指定归档文件名称 2、归档文件-可指定目录及文件名 /home/wang.tar.gz 3、要处理的文件或目录 /home/study1/wang 二、常见命令 t…

单片机原理及应用笔记:C51流程控制语句与项目实践

作者介绍 王安宁&#xff0c;男&#xff0c;银川科技学院计算机与人工智能学院&#xff0c;2022级计算机与科学技术9班本科生&#xff0c;单片机原理及应用课程第八组。 指导老师&#xff1a;王兴泽 电子邮箱&#xff1a;3400624646qq.com 前言 本篇文章是参考《单片机原理…

【339】基于springboot的新能源充电系统

毕 业 设 计&#xff08;论 文&#xff09; 题目&#xff1a;新能源充电系统的设计与实现 摘 要 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的产生&#xff0c;往往能解…

【QNAP威联通NAS系统恢复进阶教程】如果 .conf 和 md9 无法自动组装,如何恢复 NAS?

创作立场&#xff1a;原创不易&#xff0c;拒绝搬运~ hello大家好&#xff0c;我是你们的老伙伴&#xff0c;稳重的大王~ 从本期开始&#xff0c;大王将在日常教程中&#xff0c;分享一些QNAP系统故障的排除以及解决办法&#xff0c;进阶教程需要具备一定的linux基础&#xf…

BERT预训练的MLM和NSP任务的损失函数都是什么?

引言 BERT预训练过程中包括两个主要任务&#xff1a;Masked Language Modeling(MLM) 和 Next Sentence Prediction(NSP)。 MLM损失函数&#xff1a; 在MLM任务中&#xff0c;模型需要根据上下文预测被MASK掉的词语。具体来说&#xff0c;输入序列中的一部分词语被随机MASK&…

第二十章 Vue组件通信之父子通信

目录 一、引言 二、组件关系分类 三、组件通信的解决方案 3.1. 父子通信流程图 3.2. 父组件通过 props 将数据传递给子组件 3.2.1. 代码App.vue 3.2.2. 代码MySon.vue 3.3. 子组件利用 $emit 通知父组件修改更新 ​编辑3.3.1. 代码App.vue 3.3.2. 代码MySon.vue 3…

泷羽sec-安全见闻(9)

声明&#xff1a;学习视频来自b站up主 泷羽sec&#xff0c;如涉及侵权马上删除文章。 视频地址&#xff1a; https://www.bilibili.com/video/BV1PH1FYZE1H 1. 二进制的基本概念 二进制是计算技术中广泛采用的一种数值二进制的基本概念&#xff1a;二进制是计算技术中广泛采用…