目录
一、为什么要有过滤器?
二、常用过滤器
1.常用过滤器add
2.常用过滤器cut
3.常用过滤器date
4.常用过滤器default
5.常用过滤器first、last
6.常用过滤器floatformat
7.常用过滤器striptags
8.常用过滤器runcatechars
三、自定义模板过滤器
四、模板结构优化
DTL中不支持函数,过滤器相当于函数,可以接收参数,最多传入两个参数
过滤器使用格式:{{value|filter}},value代表在views.py中定义的传入模板的参数,filter代表各种过滤器
作用:用来在模板里传递参数的函数,在Python中用()放参数,但是模板里不支持,add将传进来的参数添加到原来的值上边:
方式1.首先会将传过来的参数和原来的值转换成整形,如果转换成功,则整形相加,返回结果
方式2.若转换整形失败,则进行字符串拼接
使用方法:在HTML文件中:{ value1|add:value2}
按照方式1在HTML中对两个整数的处理:
{{ "1"|add:"2" }}
在views.py中进行对模板的引用:
def add_view(request):
return render(request,'add.html')
在urls.py 中增加一个映射:
path('add/',views.add_view)
按照方式2,将两个列表拼接在一起,起到传递参数到模板的作用
def add_view(request):
context = {
'value1' : [1,2,3],
'value2' : [4,5,6],
}
return render(request,'add.html',context=context)
{{ value1|add:value2 }}
作用:移除指定字符
使用方法:{{value|cut:""}}
views.py中定义一个新的函数,并且映射到url
from datetime import datetime
def date_view(request):
context ={
"today" : datetime.now()
}
return render(request,'date.html',context=context)
HTML代码:
{{ today|date:"Y-m-d" }}
当列表、字典为空时,或者为NULL时,在获取其值的时候给一个初始值
作用:可以获取列表的第一个、最后一个值
用法:{{value|first}},{{value|last}},其中value为列表名
可以四舍五入保留小数,默认为一位小数
用法:去掉参数中的html标签,如下,在view.py中有视图函数,定义了一个带有标签的值
def striptags_view(request): context = { 'value':'' } return render(request,'index.html',context=context)
在HTML的body中,有{{value|striptags}},最后显示去掉了