一、模板过滤器的作用和示例
1、模板过滤器的作用:对变量进行过滤
2、各种例子如下:
- 管道符号进行链式调用,比如实现一个功能,先把所有字符变成小写,把第一个字符转换成大写。
语法:{{fruits|lower|capfirst}}
-
使用参数:过滤器可以使用参数,在过滤器名称后面使用冒号”:”再加上参数,比如要把一个字符串中所有的空格去掉,则可以使用cut过滤器。
语法: {{fruits|cut:" "}}
注意:使用参数的时候,冒号和参数之间不能有任何空格,一定要紧挨着。
二、常用的模板过滤器
- add
将参数与值相加,首先尝试转换成整数相加,失败,则尝试所有可能,比如字符串,列表等。{{ value|add:'2' }} - capfirst
首字母大写,如果第一个字母不是字母则不起作用。{{ value|capfirst }} - date
日期格式化 {{ value|date:"D d M Y" }} - time
时间格式化 {{ value|time:"H:i" }}
格式化格式见官方文档:https://docs.djangoproject.com/en/2.1/ref/templates/builtins/#date
- default
如果变量解析失败,使用给定的默认值。{{ value|default:"nothing" }}(注意如果value是空字符串,输出将会是nothing) - first
返回列表的第一个元素 {{ value|first }} - last
返回列表的最有一个元素 {{ value|last }} - slice
返回一个列表的切片 {{ some_list|slice:":2" }} - join
连接字符串列表,与str.join(list)一样 {{ value|join:" // " }} - floatformat
浮点数格式化,不指定小数位参数,默认保留一个为小数。
value | Template | Output
| |
34.23234 | {{ value|floatformat }} | 34.2
| |
34.23234 | {{ value|floatformat:3 }} | 34.232
- length
返回字符串或列表的长度。 - length_is
判断字符串或列表长度是否指定的值,相等返回True {{ value|length_is:"4" }} - lower
字符串中的字母都变小写{{ value|lower }} - upper
字符串中的字母都变大写{{ value|upper }} - safe
关闭变量的自动转义,使html标签生效{{ value|safe }}(可以将视图函数传过来的js和html编写代码可以安全的渲染出来) - title
标题化,首字母大写 {{ value|title }}
三、date和time模板过滤器格式
四、模板过滤器的例子



网友评论