django 模版內置的過濾器


一、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>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM