django 模版内置的过滤器

1、add
将传进来的参数添加到原来的值上面。这个过滤器会尝试将“值”和“参数”转换成整形而后进行相加。若是转换成整形过程当中失败了,那么将会将“值”和“参数”进行拼接。若是是字符串,那么会拼接成字符串,若是是列表,那么会拼接成一个列表。实例代码以下:html

{{ value|add:"2"}}

若是value是等于4,那么结果将是6.若是value是等于一个普通的字符串,如‘abc’,那么结果将是abc2.python

2、cut
移除值中全部指定的字符串。相似于python中的replace(args,"").实例代码:浏览器

{{ value|cut:""}}

3、date安全

将一个日期按照指定格式,格式化成字符串。实例代码以下:dom

# 数据
context = {
"today" : datetime.now()
}
# 模版
{{ value|date:'Y/m/d'}}

结果为:2019/12/30。其中Y表明的是四位数的年份,m表明两位数的月份,d表明的是两位数的日。还有其余的时间格式化的方法。spa

Y:四位数的年份
m:两位数的月份
n:月份,1-9前面没有0前缀
d:两位数字的天
j:天,1-9前面没有0前缀
g:小时,12小时格式的,1-9前面没有0前缀
h:小时,12小时格式的,1-9前面有0前缀
G:小时,24小时格式的,1-9前面没有0前缀
H:小时,24小时格式的,1-9前面有0前缀
i:分钟,1-9前面有0前缀
s:秒,1-9前面有0前缀

4、default过滤器
若是值被评估为False。好比[],"",None,{}等这些在if判断中为False的值,都会使用default过滤器提供的默认值。实例代码以下:code

{{ value|default:"没有值"}}

当value是等于一个空的字符串。好比"",那么以上代码将会输出"没有值"orm

5、default_if_none过滤器
若是值是None,那么将会使用default_if_none提供的默认值。这个是和“default”有区别的,default是全部被评估为False的都会使用默认值。而default_if_none则只有在值等于None时才起做用。htm

{{ value|default_if_none:"该值为:None"}}

若是value是等于""即空字符串,那么上面的代码输出的也是空字符串;若是value是一个None值,以上代码才会输出:该值为:None。blog

6、first过滤器
返回列表、元组、字符串中的第一个元素。实例代码以下:

{{ value|first}}

若是value是[1,2,3],那么输出将会是1。

7、last过滤器
返回最后一个值,用法和first相似就再也不赘述了。


8、floatformat过滤器
使用四舍五入的方式格式化一个浮点类型。若是这个过滤器没有传递任何参数。那么只会在小数点后保留一个小数,若是小数后面全是0,那么只会保留整数。固然也能够传递一个参数,标识具体保留几位小数。
一、若是没有传递参数

value:25.2548
模板:{{ value|folatformat }} 
结果:25.3

二、传递参数

value:25.2548
模板:{{ value|folatformat:3 }} 
结果:25.255

9、join过滤器

相似与python中的join,将列表、元组、字符串用指定的字符进行拼接。

value:[1,2,3]
模板:{{ value|join:""}}
结果:一、二、3

10、length过滤器:

获取一个列表、元组、字符串、字典的长度。

{{value|length}}

若是value是等于['1','e','r'],那么以上代码将会输出3,若是value值为None,则返回0。

11、lower过滤器
将值中全部的字符所有转换成小写

{{ value|lower}}

12、upper

将值中全部字母转换成大写,用法和lower同样。


十3、random过滤器
在被给的列表、字符串、元组中随机选择一个值。

{{value|random}}

若是value是等于['a','b','c'],那么会从中随机选择一个。

十4、safe过滤器
标记一个字符串是安全的。机会关掉这个字符串的自动转义。

{{value|safe}}

若是value是一个不包含任何特殊字符的字符串,好比<a>这种,那么以上代码就会把字符串正常的输入。若是value是一串html代码,那么以上代码会将这个html代码渲染到浏览器中。

十5、slice过滤器
相似与python中的切片操做。

{{some_list|slice:"3:"}}

以上代码将会将some_list从3开始作切片操做。

十6、stringtags过滤器:
删除字符串中全部的html标签。

{{value|striptags}}

若是value是<span>hello world</span>,那么以上代码将会输出hello world。


十7、truncatechars过滤器:
若是给定的字符串长度超过了过滤器指定的长度。那么将会进行切割,而且会拼接3个点做为省略号。实例代码以下:

{{ value|truncatechars:5}}

若是value是等于"阳光明媚的天气",那么输出的结果为"阳光..."。注意3个点也占字符。


十8、truncatechars_html过滤器:
相似于truncatechars,只不过是不会切割HTML标签。

{{ value|truncatechars_html:5}}

若是value是<p>阳光明媚的天气</p>,那么输出是<p>阳光...</p>

相关文章
相关标签/搜索