過濾器會更改量或便籤參數的值: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" 。