过滤器主要是对上下文内容进行处理,如替换,反转和转义等等,将格式和内容转化成我们想要的,减少模板代码量,方法如下:
{ { variable 上下文 | filter 过滤器1 | filter2 }}
过滤器可以传入参数,但仅支持传入一个参数。带参数的过滤器与参数之间以“:”隔开,并且两者之间不能有空格如:{ { variable | date:"D d M Y" }}
自带过滤器:
1、add
使用形式为:{
{ value | add: "2"}}
意义:将value的值增加2
2、addslashes
使用形式为:{
{ value | addslashes }}
意义:在value中的引号前增加反斜线
3、capfirst
使用形式为:{
{ value | capfirst }}
意义:value的第一个字符转化成大写形式
4、cut
使用形式为:{
{ value | cut:arg}}, 例如,如果value是“String with spaces” arg是" "那么输出是"Stringwithspaces"
意义:从给定value中删除所有arg的值
5、date
使用形式为::
(a) {
{ value | date:"D d M Y" }},例如,如果value是一个datetime对象(datetime.datetime.now())那么输出将是字符串"Wed 09 Jan 2008"
(b) {
{ value | date }},这种形式没有格式化字符串,这时候,格式化字符串会自动采用DATE_FORMAT所设置的形式。
意义:将日期格式数据按照给定的格式输出
(c){ {value|date:"Y-m-d H:i"}} 例如:如果value是一个datetime对象(datetime.datetime.now())那么输出将是字符串“2017-03-23 18:11:48”
6、default
使用形式:{
{ value | default: "nothing" }},例如,如果value是“”,那么输出将是nothing
意义:如果value的意义是False,那么输出使用缺省值
7、default_if_none
使用形式:{
{ value | default_if_none:"nothing" }},例如,如果value是None,那么输出将是nothing
意义:如果value是None,那么输出将使用缺省值
8、dictsort
意义:如果value的值是一个字典,那么返回值是按照关键字排序的结果
使用形式:{
{ value | dictsort:"name"}},例如,
如果value是:
[
{'name': 'zed', 'age': 19},
{'name': 'amy', 'age': 22},
{'name': 'joe', 'age': 31}, ]
那么,输出是:
[
{'name': 'amy'