过滤器会更改量或便签参数的值:git
{{ django|title }}
在下列context中web
{'django': 'the web framework for perfectionists with deadlines'}
django变量值都是小写,通过过滤器渲染以后就会变成:django
The Web Framework For Perfectionists With Deadlines
把add后的参数加给value
例如:安全
{{ value|add:"2" }}
若是 value 为 4 ,则会输出 6 .
过滤器首先会强制把两个值转换成Int类型。若是强制转换失败, 它会试图使用各类方式吧两个值相加。它会使用一些数据类型 (字符串, 列表, 等等.) 其余类型则会失败. 若是转换失败,结果会变成一个空字符串
例如,咱们使用下面的值dom
{{ first|add:second }}
first 是 [1, 2, 3] , second 是 [4, 5, 6] , 将会输出
[1, 2, 3, 4, 5, 6] .
警告
若是字符串能够被强制转换成int类型则会 summed,没法被转换,则和上面的第一个例子同样url
在引号前面加上斜杆。例如,用于在CSV中转义字符串。
例如:spa
{{ value|addslashes }}
若是 value 是 "I'm using Django" , 输出将变成 "I\'m using Django" code
大写变量的第一个字母。若是第一个字符不是字母,该过滤器将不会生效。
例如:orm
{{ value|capfirst }}
若是 value 是 "django" , 输出将变成 "Django" .对象
使"value"在给定的宽度范围内居中.
例如:
"{{ value|center:"15" }}"
若是 value 是 "Django" ,输出将是 “ Django t7> 。
移除value中全部的与给出的变量相同的字符串
例如:
{{ value|cut:" " }} {{ “You are not a Englishman” | cut:”not” }}
将输出‘’You are a Englishman“
根据给定格式对一个date变量格式化
例如:
{{ value|date:"D d M Y" }} {{ value|date }}
若是 value 是 datetime 对象(例如, datetime.datetime.now() 的结果),输出将分别是是字符串 'Wed 09 Jan 2008', ‘Jan 09 2008’ 。
若是value的计算结果为 False ,则使用给定的默认值。不然,使用该value。
例如:
{{ value|default:"nothing" }}
若是 value 为 "" (空字符串),则输出将为 nothing 。
若是(且仅当)value为 None ,则使用给定的默认值。不然,使用该value。
注意,若是给出一个空字符串,默认值将不被使用。若是要回退空字符串,请使用 default 过滤器。
例如:
{{ value|default_if_none:"nothing" }}
若是 value 为 None ,则输出将为字符串 “nothing”
接受一个字典列表,并返回按参数中给出的键排序后的列表。
例如:
{{ value|dictsort:"name" }}
若是 value 为:
[ {'name': 'zed', 'age': 19}, {'name': 'amy', 'age': 22}, {'name': 'joe', 'age': 31}, ]
那么输出将是:
[ {'name': 'amy', 'age': 22}, {'name': 'joe', 'age': 31}, {'name': 'zed', 'age': 19}, ]
也能够用来作更复杂的事情:
{% for book in books|dictsort:"author.age" %} *{{ book.title }} ({{ book.author.name }}) {% endfor %}
若是books为:
[ {'title': '1984', 'author': {'name': 'George', 'age': 45}}, {'title': 'Timequake', 'author': {'name': 'Kurt', 'age': 75}, {'title': 'Alice', 'author': {'name': 'Lewis', 'age': 33}}, ]
输出将为:
* Alice (Lewis) * 1984 (George) * Timequake (Kurt
获取字典列表,并返回按照参数中给出的键按相反顺序排序的列表。这与上面的过滤器dictsort彻底相同,但返回的值将是相反的顺序。
可分割
若是value能够被给出的参数整除,则返回 True
例如:
{{ value|divisibleby:"3" }}
若是 value 是 21 ,则输出将为 True 。
使用形式:
{{ value | escape}}
意义:替换value中的某些字符,以适应HTML格式,包括:
< is converted to <
> is converted to >
’ (single quote) is converted to '
” (double quote) is converted to "
& is converted to &
escape仅仅在输出的时候才起做用,因此escape不可以用在链式过滤器的中间,
他应该老是最后一个过滤器,若是想在链式过滤器的中间使用,那么可使用force_escape
first
返回列表中的第一项。
内建标签和过滤器
654
例如:
{{ value|first }}
若是 值 是列表 ['a', 'b', 'c'] ,输出将为 'a'
使用形式:
{{ value|floatformat }}或者{{ value|floatformat:arg }}
arg能够是正数也能够是负数。没有参数的floatformat至关于floatformat:-1
(1)若是不带arg,那么引擎会四舍五入,同时最多只保留一位小数。
34.23234 {{ value|floatformat }} 34.2 34.00000 {{ value|floatformat }} 34 34.26000 {{ value|floatformat }} 34.3
(2)若是arg是正数,那么引擎会四舍五入,同时保留arg位的小数。
34.23234 {{ value|floatformat:3 }} 34.232 34.00000 {{ value|floatformat:3 }} 34.000 34.26000 {{ value|floatformat:3 }} 34.260
(3)若是arg是负数,那么引擎会四舍五入,若是有小数部分,那么保留arg位小数;不然,则没有任何小数部分。
34.23234 {{ value|floatformat:”-3” }} 34.232 34.00000 {{ value|floatformat:”-3” }} 34 34.26000 {{ value|floatformat:”-3” }} 34.26
给定一个整数,返回所请求的数字,其中1是最右边的数字,2是第二个最右边的数
字等。返回无效输入的原始值(若是输入或参数不是整数,或参数小于1)。否
则,输出老是一个整数。
例如:
{{ value|get_digit:"2" }}
若是 value 为 123456789 ,则输出将为 8 。
使用字符串链接列表,例如Python的 str.join(list)
例如:
{{ value|join:" // " }}
若是 value 是列表 ['a', 'b', 'c'] /,输出将是字符串 “a // b //c“ 。
返回列表中的最后一个项目。
例如:
{{ value|last }}
若是列表为 ['a', 'b', 'c', 'd'] , 输出为"d" .
返回值的长度。这适用于字符串和列表。
例如:
{{ value|length }}
若是 value 是 ['a', 'b', 'c', 'd'] 或 "abcd" ,输出将为 4 。
若是值的长度是参数,则返回 True ,不然返回 False 。
例如:
{{ value|length_is:"4" }}
若是 value 是 ['a', 'b', 'c', 'd'] 或 "abcd" ,输出将为 True 。
显示带行号的文本。
例如:
{{ value|linenumbers }}
若是 value 为:
one
two
three
输出将是:
1\. one 2\. two 3\. three
将字符串转换为所有小写。
例如:
{{ value|lower }}
若是 value 为 MAD 输出 mad 。
返回转换为列表的值。对于字符串,它是一个字符列表。对于整数,在建立列表以前将参数强制转换为unicode字符串。
例如:
{{ value|make_list }}
若是 value 是字符串 "Joel" ,输出将是列表 ['J', 'o' , 'e', 'l'] 。若是 value 是 123 ,则输出将是列表 ['1', '2', '3'] 。
将电话号码(可能包含字母)转换为其等效数字。输入没必要是有效的电话号码。这将很乐意转换任何字符串。
例如:
{{ value|phone2numeric }}
若是 value 为 800-COLLECT ,输出将为 800-2655328 。
返回给定列表中的随机项。
例如:
{{ value|random }}
若是列表是['a', 'b', 'c'],输出将是任意一个。
根据给定的格式格式化时间。
给定格式能够是预约义的 TIME_FORMAT ,也能够是与 date 过滤器相同的自定义格式。请注意,预约义的格式是与区域设置相关的。
例如:
{{ value|time:"H:i" }}
若是 value 等效于 datetime.datetime.now() ,则输出将为字符串 "01:23" 。
另外time过滤器只接受字符串中与时间相关的参数,而不是时间。
将字符串转换为大写形式:
例如:
{{ value|upper }}
若是 value 是 “Joel ;,输出将为 “JOEL ” 。
转义要在URL中使用的值。
例如:
{{ value|urlencode }}
If value is "http://www.example.org/foo?a=b&c=d" , the output will be"http%3A//www.example.org/foo%3Fa%3Db%26c%3Dd" .
能够提供包含不该该转义的字符的可选参数。
若是未提供,则'/'字符被假定为安全的。当全部字符应该转义时,能够提供空字符
串。例如:
{{ value|urlencode:"" }}
若是 value 为 "http://www.example.org/" ,输出将为 "http%3A%2F%2Fwww.example.org%2F" 。