DTL语言学习(一)模板变量和{% if %}标签的使用
目前市面上有非常多的模板系统,其中最知名最好用的就是DTL和Jinja2。
DTL是Django Template Language三个单词的缩写,也就是Django自带的模板语言。当然也可以配置Django支持Jinja2等其他模板引擎,但是作为Django内置的模板语言,DTL能和Django达到无缝衔接而不会产生一些不兼容的情况。因此使用Django一般都使用DTL模板系统。
DTL与普通的HTML文件的区别:
DTL模板是一种带有特殊语法的HTML文件,这个HTML文件可以被Django编译,可以传递参数进去,实现数据动态化。在编译完成后,生成一个普通的HTML文件,然后发送给客户端。
模板变量的使用
首先新建一个项目,因为是学习DTL语言,就不用新建一个app了,直接在和settings.py同级目录下新建一个views.py的文件。
- 如果是用pycharm创建的项目,那么在app的同级目录下Django就自动给我们创建好了一个templates的目录。并且在settings.py中也将模板路径配置好了的
- 如果时用命令窗口新建的项目,则需要手动在app的同级目录下创建一个templates的文件夹。并且需要去settings.py中配置好templates模板的路径。在settings.py中TEMPLATES这个列表中的字典中key为 ‘DIRS’ 中添加路径。
'DIRS': [os.path.join(BASE_DIR, 'templates')]
注意: 示例代码是将配置的模板路径是在和app的同级目录下,如果新建在其他位置,请自行修改配置路径。
然后在templates文件夹中新建一个 'index.html’的文件
这样我们需要用到的文件都创建好了。
首先进入views.py文件中编写代码:
from django.shortcuts import renderdef index(request):str = '我是变量'return render(request,'index.html',{'str':str})
然后去urls.py中配置url
from django.urls import path
from . import viewsurlpatterns = [path('',views.index),
]
然后切换至templates中的index.html文件中
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>DTL 语言</title>
</head>
<body>{{ str }}</body>
</html>
然后运行项目,就可以查看效果了。
只需要修改views.py文件中index函数中的str的值,我们就能改变传递到index.html中的值。
{% if %}标签的使用
我们在views.py中的index函数中新建一个变量age
并且将它传递至index.html中
def index(request):str = '我是变量'age = 18return render(request,'index.html',{'str':str,'age':age})
然后我们在index.html中使用{% if %}标签进行判断。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>DTL 语言</title>
</head>
<body>{{ str }}{% if age < 18 %}<p>你还没有成年</p>
{% elif age == 18 %}<p>你刚刚成年</p>
{% else %}<p>你已经成年了</p>
{% endif %}</body>
</html>
然后运行项目,输入网址,就能够查看效果了,可以改变age的值来改变index.html中显示的文字。
注意:
- 所有的标签都是在
{%%}
之间。 - if标签有闭合标签。就是
{% endif %}
。 - if标签的判断运算符,就跟python中的判断运算符是一样的。
==、!=、<、<=、>、>=、in、not in、is、is not
这些都可以使用。 - 还可以使用
elif
以及else
等标签。
DTL语言学习(一)模板变量和{% if %}标签的使用相关推荐
- Lawliet|C语言学习笔记2——变量/数据类型/表达式
C语言学习笔记2--认识C语言1 1.变量 a.变量的命名 <类型名称><变量名称> 存放数据的一个地方,用于参与后续的运算. 变量命名的规则:只能由字母.数字和下划线组成,且 ...
- C语言学习教程:变量与常量数据分享
在程序的世界中,可以让计算机按照指令做很多事情,如进行数值计算.图像显示.语音对话.视频播放.天文计算.发送邮件.游戏绘图以及任何我们可以想象到的事情.要完成这些任务,程序需要使用数据,即承载信息的数 ...
- c程序语言设定定义域,4.22C语言学习日记:变量的定义域及编译预处理
学习笔记: 变量的存储类型: 静态存储方式:在程序运行期间由系统分配固定存储空间:从程序开始执行到程序结束: 动态存储方式:根据需要进行动态的分配存储空间:从包含该变量定义的函数开始执行至函数执行结束 ...
- C语言学习C程序设计——变量(详解)
文章目录 前言 一.变量的概念 1.变量的概念 2.变量概念理解 二.定义变量 1.如何定义变量 2.定义变量时需要注意的细节 三.使用变量 1.变量初始化 2.给变量赋值 总结 前言 在上一篇文章中 ...
- (二)易语言学习笔记之变量与常量
1 数据类型 (1)易语言数据类型 (2)数据类型应用 数据类型可以用来描述不同变量的类型或组件属性的类型. a 定义变量的数据类型 在声明一个变量时要定义其具体的数据类型,只需要在新建的变量的类型栏 ...
- django 学习 (三) 模板变量
将views.py中的变量传递给html模板来显示,变量是以字典的形式传递给html模板文件显示的. 模板文件里以字典的{{健名}}来得到健值. 可传递的变量有以下几种形式 1. 基本变量 retur ...
- Go语言学习十二 变量和常量
本文最初发表在我的个人博客,查看原文,获得更好的阅读体验 Go 使用var关键字声明变量:使用关键字const声明常量.变量可以像常量一样初始化. 一 变量 1.1 变量声明 语法: var 变量名 ...
- C语言学习之取变量后几位小数
C语言 设变量x为float型且已经赋值, 则以下语句中能够将x中的数值保留到小数点后面2位, 并将第3位四舍五入 x=(int)(x*100+0.5)/100.0
- Django框架学习 —9模板详解 -- DTL
作为Web框架,Django提供了模板,用于编写html代码,还可以嵌入模板代码更快更方便的完成页面开发,再通过在视图中渲染模板,将生成最终的html字符串返回给客户端浏览器 模板致力于表达外观,而不 ...
- Python语言学习:在python中,如何获取变量的本身字符串名字而非其值/内容及其应用(在代码中如何查找同值的所有变量名)
Python语言学习:在python中,如何获取变量的本身字符串名字而非其值/内容及其应用(在代码中如何查找同值的所有变量名) 目录
最新文章
- 怎么进u8系统服务器网址,服务器地址变更后如何进入u8
- C++回声服务器_3-UDP版本
- cwRsync 同步时报错 STATUS_ACCESS_VIOLATION
- DynamicMethodHelper R2 2012-08-14 DynamicMethod ILGenerator.Emit
- Java基础学习-Collection体系结构和迭代测试
- 设计模式学习-Composite(组合模式)
- dataframe 删除首尾空格_你敲空格的速度很快,但女人的手不是用来敲空格的!...
- Filecoin网络目前总质押量约为4018万枚FIL
- 论文Mathtype公式自动编号
- 注意,更改团队所属业务部门用Update消息无效!
- 计算机哪个按键可以和弦,多指和弦常用键盘位置及指法
- 读凯文·米特尼克的黑客传奇经历
- excel表格横向纵向变换_Excel 的初级逻辑
- 计算机基础--练习题
- OPENFILER构建软iSCSI multipath实现多路径聚合(一)
- 金融结构的经济学分析
- 塔望 - 食品品牌咨询 食品品牌全案策划服务公司
- Web入门_朽木|学习笔记之第一章-数据库基本知识(1.1-1.7)
- Java的native方法是什么
- Web前端布局实战:三国杀页面布局(上)