第一章(四):Django框架的模板(DTL):变量、标签、模板过滤器、模板继承、配置模板文件(staticfiles)

news2024/11/15 15:41:41

系列文章目录

备注:这里是Django系列文章的所有文章的目录

第一章(一) : Django框架如何创建项目、创建应用、创建templates;如何启动django项目;
第一章(二):Django框架的模式、路由、视图;
第一章(三):Django框架的视图函数、视图类的认识及常规使用;


备注:欢迎查阅python之Django框架,如有疑问,欢迎评论,一定回复!!!

文章目录

  • 系列文章目录
  • 前言
  • 一 . 模板变量
    • 1.1 . 模板变量的类型
    • 1.2 . 模板变量的应用:{{ 变量名 }}
      • 1.2.1 . 变量使用实例
      • 1.2.2 . 变量使用实例-效果释义
  • 二 . 模板标签
    • 2.1 . 常见标签
    • 2.2.1 . for循环标签的`标签变量`


前言

提示:这里可以添加本文要记录的大概内容:
Django的模板包含:动态部分、静态部分。动态部分即是Django的模板语言DTL,静态部分即是HTML、CSS、JavaScript。
模板语言主要是:模板变量、模板标签、模板过滤器。


提示:以下是本篇文章正文内容,如有疑问,欢迎评论中指出,定在一周内予以回复。

一 . 模板变量

模板变量可以被看作是HTML文件中的占位符。当Django模板引擎执行时,会用模板变量实际的值对其进行替换。

1.1 . 模板变量的类型

模板变量:字符串、列表、字典、类对象

1.2 . 模板变量的应用:{{ 变量名 }}

注意:变量名前后都有空格,变量名可以由字母数字下划线组成,但不能包含空格和其它字符

1.2.1 . 变量使用实例

app中views.py的视图函数:

def var(request):
    '''
    变量的使用
    :param request:
    :return:
    '''
    lists = ['java', 'python', 'C', 'C#', 'JavaScript']
    dicts = {'姓名': "张三", "年龄": 25, "性别": '男'}
    return render(request, 'var.html', {'lists': lists, 'dicts': dicts})
    # return render(request, 'var.html', locals())

templates中,变量的引用:

<body>
    {{ lists }}
    <table border=1>
        <tr>
            <td>{{ lists.0 }}</td>
            <td>{{ lists.1 }}</td>
            <td>{{ lists.2 }}</td>
            <td>{{ lists.3 }}</td>
            <td>{{ lists.4 }}</td>
        </tr>
    </table>
<br>
    {{ dicts }}
    <table border=1>
        <tr>
            <td>{{ dicts.姓名 }}</td>
            <td>{{ dicts.年龄 }}</td>
            <td>{{ dicts.性别 }}</td>
        </tr>
    </table>
</body>

urls.py中,路由:

urlpatterns = [
    path('var/', views.var, name='app3_var'),
]

1.2.2 . 变量使用实例-效果释义

  • 1.2.1 中,视图函数中,render()所返回的数据的名称,一定是要和templates中{{ 变量名 }}一致;
  • 当变量是list/dict/对象时,引用其内部值:{{ list.索引 }}、{{ dict.keys }}
  • 访问路由,页面展示:
    变量的引用

二 . 模板标签

模板标签的需要使用**标签限定符{% %}**进行包裹。
标签的作用:载入代码渲染模板,或者对传入的参数进行逻辑判断和计算。

2.1 . 常见标签

模板标签描述
{% if %}{% elif %}{% else%}{% endif %}条件判断模板标签
{% for %} {% empty %} {% endfor %}循环模板标签
{% url %}路由配置的地址标签
{% extends xx%}模板继承标签,从xx模板继承
{% load %}加载相关内容
{% static %}静态资源
{% block %}{% endblock %}一组占位符标签,需要重写模板
{% csrf_token %}用来防护跨站点伪造攻击
{% include 页面 %}包含一个HTML页面

2.2.1 . for循环标签的标签变量

变量描述
forloop.counter0表示当前循环的索引,从0开始计数
forloop.counter表示当前循环的索引,从1开始计数
forloop.revcounter0表示循环中剩余元素的数量,在进行第1次循环时 forloop.revcounter0的值是循环的序列中元素总数减去1,最后一次时,为0
forloop.revcounter表示循环中剩余元素的数量,在进行第1次循环时 forloop.revcounter的值是循环的序列中元素总数,最后一次时,为1
forloop.first表示是否是第1次循环
forloop.last表示是否是最后1次循环
forloop.parentloop嵌套循环中,获取上层的for循环

提示:这里对文章进行总结:

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

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

相关文章

copilot平替tabnine解析

1.copilot 借着最近chatgpt大火的东风&#xff0c;copilot又重新火了一把。 什么是copilot&#xff1f;直接上wiki百科上的解释 GitHub Copilot是GitHub和OpenAI合作开发的一个人工智能工具&#xff0c;用户在使用Visual Studio Code、Microsoft Visual Studio、Vim、Cursor或…

Flask使用Flask-SQLAlchemy对数据库操作详解二(配置、表与表之间一对一、多对一、多对多关系及增删改查参数和代码详细总结)

前面接&#xff1a;Flask使用Flask-SQLAlchemy对数据库操作详解二&#xff08;配置、表与表之间一对一、多对一、多对多关系及增删改查参数和代码详细总结&#xff09; 文章目录 4.增删改查操作4.1添加1. 使用add()方法添加新数据2. 使用create()方法创建新数据 4.2 查询数据1.…

ADAS/AD笔记之特斯拉Autopilot-HW3.0系统

摘要&#xff1a; 目前国内一般直接将高速NOA成为“L2”&#xff1b;因此&#xff0c;复杂度更高的城区NOA&#xff0c;就自然的映射到了“L2”。 一、概述&#xff1a; 特斯拉Autopilot系统首创了NOA这种淡化脱手/脱眼/脱脑&#xff08;驾驶自动化程度&#xff09;逻辑的功能…

电脑系统怎么选?Win?MacOS?Linux?

马上要学编程了&#xff0c;我们要学什么操作系统呢&#xff1f;是MacOS&#xff0c;还是Windows&#xff0c;或者是Linux或者其他&#xff01;那我们今天就来说说MacOS系统和Windows系统的优缺点&#xff0c;也介绍一下其他的系统。让你心里有底&#xff01; 1、Windows 首先当…

OpenShift 4 - 在 CI/CD Pipeline 中创建 KubeVirt 容器虚拟机 - 方法3

《OpenShift / RHEL / DevSecOps 汇总目录》 说明&#xff1a;本文已经在支持 OpenShift 4.12 的 OpenShift 环境中验证 文章目录 创建并运行 CI/CD Pipeline访问 VMPipeline 的 Task 解读 创建并运行 CI/CD Pipeline 执行命令&#xff0c;生成公钥-私钥对。 $ ssh-keygen$ l…

贪心法——最小生成树

问题描述&#xff1a; 最小生成树Time Limit: 2000 MSMemory Limit: 5000 KB Description 给定n(n<500)个顶点,以及E(E<20000)条边&#xff0c;计算最小生成树的权值.Input 第一行输入T表示有T组数据。每组数据第一行输入n、E&#xff0c;分别表示顶点数和边数. 接下…

2023年度国家自然科学基金项目申请初审结果公布~

2023年4月28日&#xff0c;国家自然科学基金委员会发布了《关于公布2023年度国家自然科学基金项目申请初审结果的通告》&#xff0c;2023年度国家自然科学基金项目申请初审结果公布&#xff01;2023年度项目申请集中接收期间&#xff0c;自然科学基金委共接收各类型项目申请304…

8年测试经验分享,15K的测试工程师需要掌握那些知识?

软件测试行业是随着软件产业的发展而兴起的一个重要领域&#xff0c;目前处于快速发展阶段。以下是软件测试行业的现状&#xff1a; 人才需求增长&#xff1a;随着互联网、移动互联网、物联网等新技术的不断发展&#xff0c;软件测试人才需求呈现出快速增长的趋势。越来越多的…

找高清无水印视频素材,就上这9个网站。

推荐几个我的视频素材库&#xff0c;有免费、收费、商用&#xff0c;希望对大家有帮助&#xff01; 1、菜鸟图库 https://www.sucai999.com/video.html?vNTYwNDUx 菜鸟图库可以找到设计、办公、图片、视频、音频等各种素材。视频素材就有上千个&#xff0c;全部都很高清&…

20.考虑用户舒适度的冷热电多能互补综合能源系统优化调度

说明书 MATLAB代码&#xff1a;考虑用户舒适度的冷热电多能互补综合能源系统优化调度 关键词&#xff1a;用户舒适度 综合能源 PMV 优化调度 参考文档&#xff1a;《冷热电气多能互补的微能源网鲁棒优化调度》基础模型加舒适度部分模型&#xff1b; 仿真平台&#xff1a;MA…

IBM停止招聘可被AI取代的职位;三星禁止员工使用ChatGPT;印象笔记官方AI免费课;清华美院AI绘画的高质量分享 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f916; 『IBM将停止招聘可被人工智能取代的职位』近8000名工人将被自动化取代 据彭博社报道&#xff0c;IBM首席执行官Arvind Krishna表示&am…

三、信号槽

三、信号槽 1.概念&#xff1a; 信号槽指的是信号函数与槽函数的连接&#xff0c;可以使用不同的对象通过信号槽连接在一起&#xff0c;从而实现对象之间的通信。 信号槽认为是对象之间的一种约定&#xff1a;如果.......&#xff0c;则....... 信号槽是Qt新增的特性&#xff…

五一2.74亿人倾巢而出,小长假到底去哪玩儿?

今天是五一劳动节小长假结束后&#xff0c;打工人上班的第一天。 今年的五一非比寻常&#xff0c;是三年口罩之后的第一个小长假&#xff0c;回家探亲的回家、出门玩的出门&#xff0c;据统计&#xff0c;今年五一劳动节5天小长假&#xff0c;累计有2.74亿人次在国内出游&…

Redis-周阳(17. Redis 分布式锁)学习笔记

上一篇 &#xff1a; 16.短信验证码 文章目录 1. 相关面试题2. Redis 搭建3. 编码实现分布式锁3.1 建 Model3.2 改 POM3.3 写 YML3.4 主启动3.5 业务类3.6 小测试 4. 上述案例存在问题及修改4.1 没有加单机版的锁4.2 分布式部署之后&#xff0c;单机版的锁失效4.3 出现异常时&a…

使用iServer的Web打印功能打印临时图层tempLayersSet资源

作者&#xff1a;Carlo 背景&#xff1a;最近很多小伙伴想要了解如何将临时图层资源打印输出为图片&#xff1f;其实&#xff0c;官网已发布的10.2.1版本以及11.1.0版本的iServer就已经支持该功能&#xff0c;我们可以通过下文的介绍来学习使用。 步骤一、生成一个临时图层资源…

【C生万物】 结构体篇

欢迎来到 Claffic 的博客 &#x1f49e;&#x1f49e;&#x1f49e; &#x1f449; 专栏&#xff1a;《C生万物 | 先来学C》&#x1f448; 前言&#xff1a; 这期继续C语言的学习&#xff0c;进行结构体的讲解&#xff0c;值得注意的是&#xf…

Java版企业电子招标采购系统源代码Spring Boot + 二次开发 + 前后端分离 构建企业电子招采平台之立项流程图

项目说明 随着公司的快速发展&#xff0c;企业人员和经营规模不断壮大&#xff0c;公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境&#xff0c;最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范&#xff0c;以及…

SpringCloud------Eureka集群版整合生产(集群)以及消费(五)

SpringCloud------Eureka集群版整合生产以及消费&#xff08;五&#xff09; 集群避免单点故障的发生。 服务注册&#xff1a; 将服务信息注册进服务中心 服务发现&#xff1a; 从注册中心上获取服务信息 实质&#xff1a;存key服务名&#xff0c;取value调用地址 1.先启动eur…

STM32-IAP基本原理及应用 | ICP、IAP程序下载流程 | 程序执行流程 | 配置IAP到STM32F4xxx

目录 1.串口IAP介绍1.1STM32编程方式1.2STM32系列芯片系统存储器区域1.2.1 STM32F40x/41x1.2.2 STM32F42x/43x 1.3STM32启动模式选择1.4ICP下载流程1.5IAP下载流程1.6一般的程序执行流程1.7加入IAP之后程序运行程序1.8STM32复位后如何跳转到main函数1.9IAP升级应用程序过程 2.A…

复合查询 --- MySQL总结(三)

复合查询 文章目录 复合查询多表查询自连接子查询单行查询多行查询多列子查询合并查询 表内连和外连内连外连 多表查询 前面讲述的关于进行一个表的简单查询和关于时间函数的相关问题&#xff0c;下面要进行复合查询的相关内容。 这里要使用卡笛尔集的概率让两个表融合成为一个…