{{ value|add:"2" }}html
把add後的參數加給value;python
處理時,過濾器首先會強制把兩個值轉換成Int類型。 若是強制轉換失敗, 它會試圖使用各類方式吧兩個值相加。git
實例:django
{{ arg|add:val }}安全
1)arg是5,val是3,將會輸出8dom
2)arg是5,val是'3',將會輸出8post
3)arg是'jason',val是'2',將會輸出jason2ui
4)arg是'jason',val是2,將會輸出空url
5)arg是[1, 2, 3],val是[4],將會輸出[1, 2, 3, 4]spa
{{ value|addslashes }}
在引號前面加上斜杆
像這樣:
若是value
是 "I'm using Django"
, 輸出將變成 "I\'m using Django"
{{ value|capfirst}}
將變量的第一個字母變成大寫,若是第一個字符不是字母,則過濾器不生效
若是 "value"
是 "django"
, 輸出將變成 Django
。
{{ value|center:16}}
使"value"在給定的寬度範圍內居中。
移除value中全部的與給出的變量相同的字符串
{{ value|cut:" "}}
若是value
爲「String with spaces」
,輸出將爲"Stringwithspaces"
。
根據給定格式對一個date變量格式化
可用的格式字符串:
格式化字符 | 描述 | 示例輸出 |
---|---|---|
a | 'a.m.' 或'p.m.' (請注意,這與PHP的輸出略有不一樣,由於這包括符合Associated Press風格的期間) |
'a.m.' |
A | 'AM' 或'PM' 。 |
'AM' |
b | 月,文字,3個字母,小寫。 | 'jan' |
B | 未實現。 | |
c | ISO 8601格式。 (注意:與其餘格式化程序不一樣,例如「Z」,「O」或「r」,若是值爲naive datetime,則「c」格式化程序不會添加時區偏移量(請參閱datetime.tzinfo ) 。 |
2008-01-02T10:30:00.000123+02:00 或2008-01-02T10:30:00.000123 若是datetime是天真的 |
d | 月的日子,帶前導零的2位數字。 | '01' 到'31' |
D | 一週中的文字,3個字母。 | 「星期五」 |
e | 時區名稱 多是任何格式,或者可能返回一個空字符串,具體取決於datetime。 | '' 、'GMT' 、'-500' 、'US/Eastern' 等 |
E | 月份,特定地區的替表明示一般用於長日期表示。 | 'listopada' (對於波蘭語區域,而不是'Listopad' ) |
f | 時間,在12小時的小時和分鐘內,若是它們爲零,則分鐘停留。 專有擴展。 | '1' ,'1:30' |
F | 月,文,長。 | '一月' |
g | 小時,12小時格式,無前導零。 | '1' 到'12' |
G | 小時,24小時格式,無前導零。 | '0' 到'23' |
h | 小時,12小時格式。 | '01' 到'12' |
H | 小時,24小時格式。 | '00' 到'23' |
i | 分鐘。 | '00' 到'59' |
I | 夏令時間,不管是否生效。 | '1' 或'0' |
j | 沒有前導零的月份的日子。 | '1' 到'31' |
l | 星期幾,文字長。 | '星期五' |
L | 布爾值是不是一個閏年。 | True 或False |
m | 月,2位數字帶前導零。 | '01' 到'12' |
M | 月,文字,3個字母。 | 「揚」 |
n | 月無前導零。 | '1' 到'12' |
N | 美聯社風格的月份縮寫。 專有擴展。 | 'Jan.' ,'Feb.' ,'March' ,'May' |
o | ISO-8601周編號,對應於使用閏年的ISO-8601週數(W)。 對於更常見的年份格式,請參見Y。 | '1999年' |
O | 與格林威治時間的差別在幾小時內。 | '+0200' |
P | 時間爲12小時,分鐘和'a.m。'/'p.m。',若是爲零,分鐘停留,特殊狀況下的字符串「午夜」和「中午」。 專有擴展。 | '1 am' ,'1:30 pm' / t3>,'midnight','noon','12:30 pm' / T10> |
r | RFC 5322格式化日期。 | 'Thu, 21 Dec 2000 16:01:07 +0200' |
s | 秒,帶前導零的2位數字。 | '00' 到'59' |
S | 一個月的英文序數後綴,2個字符。 | 'st' ,'nd' ,'rd' 或'th' |
t | 給定月份的天數。 | 28 to 31 |
T | 本機的時區。 | 'EST' ,'MDT' |
u | 微秒。 | 000000 to 999999 |
U | 自Unix Epoch以來的二分之一(1970年1月1日00:00:00 UTC)。 | |
w | 星期幾,數字無前導零。 | '0' (星期日)至'6' (星期六) |
W | ISO-8601週數,週數從星期一開始。 | 1 ,53 |
y | 年份,2位數字。 | '99' |
Y | 年,4位數。 | '1999年' |
z | 一年中的日子 | 0 到365 |
Z | 時區偏移量,單位爲秒。 UTC以西時區的偏移量老是爲負數,對於UTC以東時,它們老是爲正。 | -43200 到43200 |
實例:
now = datetime.datetime.now()
1){{ now|date:'Y-m-d H:i:s'}}
輸出相似:2018-10-09 11:15:22
2){{ now|date }}
輸出相似:Oct. 9, 2018
傳遞的格式能夠是預約義的格式
DATE_FORMAT
,DATETIME_FORMAT
,SHORT_DATE_FORMAT
或SHORT_DATETIME_FORMAT
3){{ now|date:"DATETIME_FORMAT" }}
輸出相似:Oct. 9, 2018, 11:19 a.m.
若是value的計算結果爲False
,則使用給定的默認值。 不然,使用該value。
{{ value|default:"nothing" }}
{{ value|default_if_none:"nothing"}}
當且僅當value爲None
,則使用給定的默認值。 不然,使用該value。
注意,若是給出一個空字符串,默認值將不被使用。
{{ value|dictsort:"name" }}
接受一個字典列表,並返回按參數中給出的鍵排序後的列表。
實例:
Value = [ {'name': 'zed', 'age': 19}, {'name': 'amy', 'age': 22}, {'name': 'joe', 'age': 31}, ]
{{ Value|dictsort:'name' }} {{ Value|dictsort:'age' }}
輸出:
[{'name': 'amy', 'age': 22}, {'name': 'joe', 'age': 31}, {'name': 'zed', 'age': 19}]
[{'name': 'zed', 'age': 19}, {'name': 'amy', 'age': 22}, {'name': 'joe', 'age': 31}]
獲取字典列表,並返回按照參數中給出的鍵按相反順序排序的列表。 這與上面的過濾器徹底相同,但返回的值將是相反的順序。
{{ value|divisibleby:「2」 }}
若是value能夠被給出的參數整除,則返回 True
實例:
value = 12
{{ value|divisibleby:「2」 }}
輸出:True
格式化爲「可讀」文件大小(即'13 KB'
,t4> MB'
,'102 bytes'
等)。
{{ value|filesizeformat }}
實例:
value = 1234567890
{{ value|filesizeformat }}
輸出:1.1 GB
{{ value|first }}
返回序列中的第一項(字符串、列表、元組等)
若是value
是列表['a', 'b', 'c']
,輸出將爲'a'
。
當不使用參數時,將浮點數舍入到小數點後一位;使用參數時,保留參數指定的位數
實例:
pi = 3.1415926
{{ pi|floatformat }}
{{ pi|floatformat:0 }}
{{ pi|floatformat:2 }}
輸出:
3.1 3 3.14
給定一個整數,返回所請求的數字,其中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 }}
若是value
是列表['a', 'b', 'c'],輸出將爲'c'
返回值的長度
{{ value|length }}
若是value
是['a', 'b', 'c', 'd']
或"abcd"
,輸出將爲4
。
對於未定義的變量,過濾器返回0
。
若是值的長度是參數,則返回True
,不然返回False
。
{{ value|length_is:"4" }}
若是value是['a', 'b', 'c', 'd']或"abcd",輸出將爲True。
替換純文本中的換行爲正確的HTML標籤;單獨的一個換行變成(<br/>
) ,原文本用p標籤包裹起來。
若是value
爲Joel\nis a slug
,輸出將爲<p>Joel<br/>is a slug</p>
。
與linebreaks相似, 區別是, linebreaksbr只替換換行, 替換完成後沒有p標籤包裹.
若是value
爲Joel\nis a slug
,輸出將爲Joel<br/>is a slug
。
輸出多行文本時, 在行前顯示行號.
{{ value|linenumbers }}
若是value
爲:
one two three
輸出將是:
- one
- two
- three
將給定寬度的字段中的值左對齊。
"{{ value|ljust:"10" }}"
若是value
爲Django
,則輸出將爲「Django 」
。
將字符串轉換爲所有小寫。
若是value
是ABC
, 則輸出將爲abc
返回轉換爲列表的值。
{{ value|make_list }}
若是value
是字符串"Joel"
,輸出將是列表['J', 'o' , 'e', 'l']
。 若是value
爲123
,輸出將爲列表['1', '2', '3']
。
若是值不是1則返回一個複數形式 , 一般用 's'
表示.
例如:
You have {{ num_messages }} message{{ num_messages|pluralize }}.
若是num_messages
是1
,則輸出將爲 You have 1 message.
若是num_messages
是2
,輸出將爲 You have 2 messages.
另外若是你須要的不是 's'
後綴的話, 你能夠提供一個備選的參數給過濾器;
例如:
You have {{ num_walruses }} walrus{{ num_walruses|pluralize:"es" }}.
對於非通常形式的複數,你能夠同時指定 單複數形式,用逗號隔開.
例如:
You have {{ num_cherries }} cherr{{ num_cherries|pluralize:"y,ies" }}.
用於調試, 方便查看.
返回給定列表中的隨機項。
{{ value|random }}
若是value是['a', 'b', 'c', 'd'], 輸出多是'c'.
右對齊給定寬度字段中的值。
將字符串標記爲在輸出以前不須要進一步的HTML轉義。 當自動轉義關閉時,此過濾器不起做用。
將safe
過濾器應用於序列的每一個元素。 與對序列進行操做的其餘過濾器(例如join
)一塊兒使用很是有用。
{{ some_list|safeseq|join:", " }}
返回列表的一部分。
{{ some_list|slice:":2" }}
若是some_list
爲['a', 'b', 'c']
,那麼輸出將是['a', 'b']
。
盡一切可能努力剝離全部[X] HTML標籤。
{{ value|striptags }}
若是value爲"<b>cu ti</b>", 輸出結果爲cuti(不帶樣式).
根據給定的格式格式化時間。
實例:
now = datetime.datetime.now()
{{ now|time:'H:i:s' }}
輸出相似:
13:25:53
將日期格式設爲自該日期起的時間(例如,「4天,6小時」)。
實例:
now = datetime.datetime.now()
blog_date = now - datetime.timedelta(days=2)
{{ blog_date|timesince:now }}
{{ now|timesince:blog_date }}
輸出相似:
2 days 0 minutes
與timesince相似
實例:
now = datetime.datetime.now()
blog_date = now - datetime.timedelta(days=2)
{{ blog_date|timeuntil:now }}
{{ now|timeuntil:blog_date }}
輸出相似:
0 minutes 2 days
將字符串中的每一個單詞首字母轉爲大寫
{{ value|title }}
若是value
爲「my FIRST post」
,輸出將爲「My First Post」
。
若是字符串字符多於指定的字符數量,那麼會被截斷。 截斷的字符串將以可翻譯的省略號序列(「...」)結尾。
{{ value|truncatechars:9 }}
若是value
爲「myFIRSTpost」
,輸出將爲「MyFirst...」
。
在必定數量的字後截斷字符串。
{{ value|truncatewords:2 }}
若是value
爲「my name is post」
,輸出將爲「My name ...」
。
將字符串轉換爲大寫形式
{{ value|upper }}
若是value
是abc
, 則輸出將爲ABC
轉義要在URL中使用的值。
{{ value|urlencode }}
若是value
爲"https://www.example.org/foo?a=b&c=d"
,輸出將爲"https%3A//www.example.org/foo%3Fa%3Db%26c%3Dd"
能夠提供包含不該該轉義的字符的可選參數。
若是未提供,則'/'字符被假定爲安全的。 當全部字符應該轉義時,能夠提供空字符串。 像這樣:
{{ value|urlencode:"" }}
若是value
爲"https://www.example.org/"
,輸出將爲"https%3A%2F%2Fwww.example.org%2F"
返回字數(單詞數)
{{ value|wordcount }}
若是value
是「Joel is a slug」,輸出將爲4
以指定的行長度換行單詞。