# 4.管道过滤
"""
{{ value|length }} # 如果value是['a', 'b', 'c', 'd']或"abcd",输出将是4。
{% if messages|length >= 100 %}
You have lots of messages today!
{% endif %}
{{ value|add:"2" }} # 如果value是4,那么输出将是6。如果不能转换为整形则作为字符串输出拼接结果,
{{ first|add:second }} # 列表则append:first是[1, 2, 3]并且second是[4, 5, 6],则输出为 [1, 2, 3, 4, 5, 6]。
{{ value|capfirst }} # 将值的第一个字符大写
{{ value|lower }} # 如果value是Totally LOVING this Album!,则输出为totally loving this album!。
{{ value|upper }} # 如果value是"Joel is a slug",则输出将是"JOEL IS A SLUG"。
{{ value|title }} # 如果value是"my FIRST post",则输出将是"My First Post"。
{{ value|center:"15" }} # value是"Django",输出将是" Django "。
{{ value|ljust:"10" }} # 如果value是Django,则输出为"Django "。
{{ value|rjust:"10" }} # 如果value是Django,输出将是" Django"。
{{ value|cut:" " }} # value是"String with spaces",输出将是"Stringwithspaces"
{{ value|time:"H:i" }} # 如果value相当于datetime.datetime.now(),输出将是字符串"01:23"。
{{ value|date:"D d M Y" }} # 参考文档:https://docs.djangoproject.com/zh-hans/4.1/ref/templates/builtins/#date
{{ value|default:"nothing" }} # 如果值为False,则使用给定的默认值。否则,使用该值。
{{ value|default_if_none:"nothing" }} # 如果(也只有当)值是 None,使用给定的默认值。否则,使用该值。
{ % for video in list.video_set.all|dictsort:"video_order" %} # 注意dictsort:后面接受整形数值,如果是字符串以abcdefg的顺序排列
{ % endfor %}
{{ value|divisibleby:"3" }} # 如果数值被参数整除,则返回True。
{{ value|filesizeformat }} # 如果value是123456789,则输出为117.7MB。
{{ value|first }} # 如果value是列表['a', 'b', 'c'],则输出为'a'。
{{ value|floatformat }} # 参考:https://docs.djangoproject.com/zh-hans/4.1/ref/templates/builtins/#floatformat
{{ value|get_digit:"2" }} # 给定一个整数,返回要求的数字,其中1是最右边的数字,2是最右边的数字,如果value是123456789,则输出为8。
{{ value|join:" // " }} # 如果 value 是列表 ['a', 'b', 'c'],输出将是字符串 "a // b // c"。
{{ value|last }} # 如果value是列表['a', 'b', 'c', 'd'],输出将是字符串"d"。
{{ value|length_is:"4" }} # 如果value是['a', 'b', 'c', 'd']或"abcd",输出将是True。
{{ value|linenumbers }} # 显示带有行号的文本。 # https://docs.djangoproject.com/zh-hans/4.1/ref/templates/builtins/#linenumbers
{{ value|make_list }} # 如果value是字符串"Joel",输出将是列表['J', 'o', 'e', 'l']。如果value是123,输出将是列表['1','2','3']。
{{ value|random }} # 如果 value 是列表 ['a', 'b', 'c', 'd'],输出可能是 "b"。
{{ var|safe }} # 将文章转义
{{ some_list|slice:":2" }} # 如果 some_list 是 ['a', 'b', 'c'],输出将是 ['a', 'b']。
{{ value|striptags }} # 尽一切努力剥离所有[X]HTML标签。如果value为"<b>Joel</b><button>is</button>a<span>slug</span>",那么输出就会是"Joel is a slug".
{{ value|truncatechars:7 }} # 如果value是"Joel is a slug",则输出将是"Joel i…"。
{{ value|truncatewords:2 }} # 如果value是"Joel is a slug",则输出将是"Joel is …"。
{{ value|urlencode }} # 不好用,会把一些符号也转义,如果value是 "https://www.example.org/foo?a=b&c=d",则输出将是 "https%3A//www.example.org/foo%3Fa%3Db%26c%3Dd"。
{{ value|wordcount }} # 如果 value 是 "Joel is a slug",则输出将是 4。
"""