一、add 將傳進來的參數添加到原來的值上面。這個過濾器會嘗試將“值”和“參數”轉換成整形然後進行相加。如果轉換成整形過程中失敗了,那麼將會將“值”和“參數”進行拼接。如果是字元串,那麼會拼接成字元串,如果是列表,那麼會拼接成一個列表。實例代碼如下: {{ value|add:"2"}} 如果val ...
一、add
將傳進來的參數添加到原來的值上面。這個過濾器會嘗試將“值”和“參數”轉換成整形然後進行相加。如果轉換成整形過程中失敗了,那麼將會將“值”和“參數”進行拼接。如果是字元串,那麼會拼接成字元串,如果是列表,那麼會拼接成一個列表。實例代碼如下:
{{ value|add:"2"}}
如果value是等於4,那麼結果將是6.如果value是等於一個普通的字元串,如‘abc’,那麼結果將是abc2.
二、cut
移除值中所有指定的字元串。類似於python中的replace(args,"").實例代碼:
{{ value|cut:""}}
三、date
將一個日期按照指定格式,格式化成字元串。實例代碼如下:
# 數據 context = { "today" : datetime.now() } # 模版 {{ value|date:'Y/m/d'}}
結果為:2019/12/30。其中Y代表的是四位數的年份,m代表兩位數的月份,d代表的是兩位數的日。還有其他的時間格式化的方法。
Y:四位數的年份
m:兩位數的月份
n:月份,1-9前面沒有0首碼
d:兩位數字的天
j:天,1-9前面沒有0首碼
g:小時,12小時格式的,1-9前面沒有0首碼
h:小時,12小時格式的,1-9前面有0首碼
G:小時,24小時格式的,1-9前面沒有0首碼
H:小時,24小時格式的,1-9前面有0首碼
i:分鐘,1-9前面有0首碼
s:秒,1-9前面有0首碼
四、default過濾器
如果值被評估為False。比如[],"",None,{}等這些在if判斷中為False的值,都會使用default過濾器提供的預設值。實例代碼如下:
{{ value|default:"沒有值"}}
當value是等於一個空的字元串。比如"",那麼以上代碼將會輸出"沒有值"
五、default_if_none過濾器
如果值是None,那麼將會使用default_if_none提供的預設值。這個是和“default”有區別的,default是所有被評估為False的都會使用預設值。而default_if_none則只有在值等於None時才起作用。
{{ value|default_if_none:"該值為:None"}}
如果value是等於""即空字元串,那麼上面的代碼輸出的也是空字元串;如果value是一個None值,以上代碼才會輸出:該值為:None。
六、first過濾器
返回列表、元組、字元串中的第一個元素。實例代碼如下:
{{ value|first}}
如果value是[1,2,3],那麼輸出將會是1。
七、last過濾器
返回最後一個值,用法和first類似就不再贅述了。
八、floatformat過濾器
使用四捨五入的方式格式化一個浮點類型。如果這個過濾器沒有傳遞任何參數。那麼只會在小數點後保留一個小數,如果小數後面全是0,那麼只會保留整數。當然也可以傳遞一個參數,標識具體保留幾位小數。
1、如果沒有傳遞參數
value:25.2548 模板:{{ value|folatformat }} 結果:25.3
2、傳遞參數
value:25.2548 模板:{{ value|folatformat:3 }} 結果:25.255
九、join過濾器
類似與python中的join,將列表、元組、字元串用指定的字元進行拼接。
value:[1,2,3] 模板:{{ value|join:"、"}} 結果:1、2、3
十、length過濾器:
獲取一個列表、元組、字元串、字典的長度。
{{value|length}}
如果value是等於['1','e','r'],那麼以上代碼將會輸出3,如果value值為None,則返回0。
十一、lower過濾器
將值中所有的字元全部轉換成小寫
{{ value|lower}}
十二、upper
將值中所有字母轉換成大寫,用法和lower一樣。
十三、random過濾器
在被給的列表、字元串、元組中隨機選擇一個值。
{{value|random}}
如果value是等於['a','b','c'],那麼會從中隨機選擇一個。
十四、safe過濾器
標記一個字元串是安全的。機會關掉這個字元串的自動轉義。
{{value|safe}}
如果value是一個不包含任何特殊字元的字元串,比如<a>這種,那麼以上代碼就會把字元串正常的輸入。如果value是一串html代碼,那麼以上代碼會將這個html代碼渲染到瀏覽器中。
十五、slice過濾器
類似與python中的切片操作。
{{some_list|slice:"3:"}}
以上代碼將會將some_list從3開始做切片操作。
十六、stringtags過濾器:
刪除字元串中所有的html標簽。
{{value|striptags}}
如果value是<span>hello world</span>,那麼以上代碼將會輸出hello world。
十七、truncatechars過濾器:
如果給定的字元串長度超過了過濾器指定的長度。那麼將會進行切割,並且會拼接3個點作為省略號。實例代碼如下:
{{ value|truncatechars:5}}
如果value是等於"陽光明媚的天氣",那麼輸出的結果為"陽光..."。註意3個點也占字元。
十八、truncatechars_html過濾器:
類似於truncatechars,只不過是不會切割HTML標簽。
{{ value|truncatechars_html:5}}
如果value是<p>陽光明媚的天氣</p>,那麼輸出是<p>陽光...</p>