前一章节我们已经知道了模板的路径设置,这一章节,我们来学习模板的变量,以过滤器。
模板变量:

此页面可以看出到底是谁登陆了页面,并且可以看到基本的信息,这些事怎么实现的呢,这就是模板变量的作用。
views文件
from django.shortcuts import render
# Create your views here.
st = 'THIS IS COMPUTER,WE ARE VERY LIKE IT!!!'
li = ['apple','banana','pear',123,222,987,'abs123','gun456']
tu = ('pig','dog','monkey','donkey',111,222,333)
se = {111,222,333,444,555,666,777,888,999}
def print():
return '这是函数返回的值'
class Test():
def __init__(self,name,age):
self.name = name
self.age = age
def run(self):
return '{}正在向大楼跑过去,他今年{}岁,是一位职员'.format(self.name,self.age)
t = Test('Tom',18)
ts = t.run()
def index(request):
return render(request,'music/index.html',context={'st':st,
'li':li,
'tu':tu,
'se':se,
'pr':print(),
'ts':ts})
html文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>music</title>
</head>
<body>
这是music网页<br>
字符串:{{ st }}<br>
字符串变小写:{{ st|lower }}<br>
字符串变小写,首行字母大写:{{ st|lower|capfirst }}<br>
列表:{{ li }}<br>
元组:{{ tu }}<br>
集合:{{ se }}<br>
{{ pr }}<br>
{{ ts }}
</body>
</html>

模板变量使用规则:
1.语法: {{ 变量名 }}
2.命名由字母和数字以及下划线组成,不能有空格和标点符号
3.可以使用字典、模型、方法、函数、列表
4.不要和python或django关键字重名
5.变量和查找
注:
1.如果data是一个字典,那么访问data.items将会访问data这个字典的key名为items的值,而不会访问字典的items方法。
2.点在模板渲染时有特殊的含义。 变量名中点表示查找。
过滤器:
作用: 对变量进行过滤。在真正渲染出来之前,过滤器会根据功能处理好变量,然后得出结果后再替换掉原来的变量展示出来。
语法:{{fruits|lower}}
管道符号进行链式调用,比如实现一个功能,先把所有字符变成小写,把第一个字符转换成大写。
语法:{{fruits|lower|capfirst}}
使用参数:过滤器可以使用参数,在过滤器名称后面使用冒号”:”再加上参数,比如要把一个字符串中所有的空格去掉,则可以使用cut过滤器,
语法如下: {{fruits|cut:" "}}
常用过滤器:

date和time过滤器:




关于自动转义:
什么是自动转义?
自动转义是将变量的一些特殊字符,比如左箭头(<)、右箭头(>)转义成html代码,这样做的目的是为了处理一些不安全的变量。
<:转义成<
:转义成>
‘:转义成'
“:转义成"
&:转义成&
静态文件:

静态文件配置:在setting文件中设置


静态文件引用:

网友评论