1,定义
在Django的模板语言中,通过使用 过滤器 来改变变量的显示。(注:过滤器是函数)
过滤器的语法: {{ 变量名|过滤器名称:参数 }}
使用管道符"|"来应用过滤器。
例如:{{ name|lower }}会将name变量应用lower过滤器之后再显示它的值。lower在这里的作用是将文本全都变成小写。
(1).default
如果一个变量是false或者为空,使用给定的默认值。 否则,使用变量的值。
{{ value|default:“nothing”}}
如果value没有传值或者值为空的话就显示nothing
(2).length
返回值的长度,作用于字符串和列表。
{{ value|length }}
返回value的长度,如 value=[‘a’, ‘b’, ‘c’, ‘d’]的话,就显示4.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>你姑拉丝赵四</title>
</head>
<body>
<h1>{{name|length}},{{ name}}</h1>
</body>
</html>
(3).slice
切片
格式:{{value|slice:“2:-1”}}
(4).date
日期格式化过滤器
格式:{{ value|date:“Y-m-d H:i:s”}}
def songda5(request):
return render(request,'songda4.html',{'name':'回家吧回到最初的美好','time':datetime.datetime.now()})
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>你姑拉丝赵四</title>
</head>
<body>
<h1>{{name|length}},{{ name}},{{ name|slice:'2:8'}},{{time|date:'Y-m-d H:i:s'}}</h1>
</body>
</html>
(5) .safe
Django的模板中会对HTML标签和JS等语法标签进行自动转义,原因显而易见,这样是为了安全。但是有的时候我们可能不希望这些HTML元素被转义,比如我们做一个内容管理系统,后台添加的文章中是经过修饰的,这些修饰可能是通过一个类似于FCKeditor编辑加注了HTML修饰符的文本,如果自动转义的话显示的就是保护HTML标签的源文件。为了在Django中关闭HTML的自动转义有两种方式,如果是一个单独的变量我们可以通过过滤器“|safe”的方式告诉Django这段代码是安全的不必转义。
比如:value = " 点我 "
格式:{{ value|safe}}