上文中做了关于templates的变量的实验,今天接着菜鸟教程继续实现templas接下来的实验,探寻templates的特性
实验继续使用上文创建的环境,再此基础上进行修改。
实验源码链接:【从零学习Django】runoob教程4 模板 (Tamplates)(一)_王月东。的博客-CSDN博客
Templates 列表
在index.html的基础上,用 . 来进行索引对应的元素
列表实验源码
views.py内容如下
from django.shortcuts import render
def mission1(request):
views_list = ["实验1", "实验2", "实验3"]
return render(request, 'index.html', {"views_list": views_list})
index.html的内容如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>templates之变量</title>
</head>
<body>
<h1>{{ views_list }}</h1>
<h1>{{ views_list.0 }}</h1>
</body>
</html>
运行成功后截图如下
列表实验总结
这次传的参数是列表形式,{{ }}内直接输出就是列表整体,但是可以利用 . 来进行索引对应的元素,0就是列表第一个,1就是列表第二个。
Templates 字典
与上一个列表一样,通过 . 来索引数据
字典实验源码
views.py
from django.shortcuts import render
def mission1(request):
views_dirt = {"name": "字典"}
return render(request, 'index.html', {"views_dirt": views_dirt})
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>templates之字典</title>
</head>
<body>
<h1>{{ views_dirt }}</h1>
<h1>{{ views_dirt.name }}</h1>
</body>
</html>
实验结果:
字典实验总结
原理与列表类似,不同的点在于字典用{ } 列表用[ ]。这些是python 的基础教学
Templates 过滤器
过滤器是用在模板里面,格式为: {{变量名|过滤器:条件参数}}
其中常用过滤器有:lower, upper, truncatewords, date, addslashes, length,first
举例说明:
views_dirt = {"name": "ZIDIAN"}
模板中的{{name|lower}}实际输出为:zidian 。并且模板中的过滤器可以嵌套,例如{{name|first|lower}} 实际上输出的就会是zIDIAN 。上面的过滤器的意思就是第一个字母小写。
有些过滤器有参数,过滤器的参数跟随冒号之后并且总是以双引号包含。例如{{name|truncatewords:"5"}} 这个就会显示name的前五个字。
- date:根据给定格式对一个日期变量进行格式化。格式 Y-m-d H:i:s返回 年-月-日 小时:分钟:秒 的格式时间。
- addslashes : 添加反斜杠到任何反斜杠、单引号或者双引号前面。
- length : 返回变量的长度
- filesizeformat:以更易读的方式显示文件的大小(即'13 KB', '4.1 MB', '102 bytes'等
- default:当view.py传的是布尔值false,返回一个默认值
- safe:将字符串标记为安全,不需要转义。例如用于传参字符串网址。用safe就可以直接打开