就象本章前面提到的一樣,模板過濾器是在變量被顯示前修改它的值的一個(gè)簡(jiǎn)單方法。 過濾器使用管道字符,如下所示:
1
|
{{ name|lower }} |
顯示的內(nèi)容是變量 {{ name }} 被過濾器 lower 處理后的結(jié)果,它功能是轉(zhuǎn)換文本為小寫。
過濾管道可以被* 套接* ,既是說,一個(gè)過濾器管道的輸出又可以作為下一個(gè)管道的輸入,如此下去。 下面的例子實(shí)現(xiàn)查找列表的第一個(gè)元素并將其轉(zhuǎn)化為大寫。
1
|
{{ my_list|first|upper }} |
有些過濾器有參數(shù)。 過濾器的參數(shù)跟隨冒號(hào)之后并且總是以雙引號(hào)包含。 例如:
1
|
{{ bio|truncatewords: "30" }} |
這個(gè)將顯示變量 bio 的前30個(gè)詞。
以下幾個(gè)是最為重要的過濾器的一部分。 附錄F包含其余的過濾器。
addslashes : 添加反斜杠到任何反斜杠、單引號(hào)或者雙引號(hào)前面。 這在處理包含JavaScript的文本時(shí)是非常有用的。
date : 按指定的格式字符串參數(shù)格式化 date 或者 datetime 對(duì)象, 范例:
1
|
{{ pub_date|date: "F j, Y" }} |
格式參數(shù)的定義在附錄F中。
length : 返回變量的長度。 對(duì)于列表,這個(gè)參數(shù)將返回列表元素的個(gè)數(shù)。 對(duì)于字符串,這個(gè)參數(shù)將返回字符串中字符的個(gè)數(shù)。 你可以對(duì)列表或者字符串,或者任何知道怎么測(cè)定長度的Python 對(duì)象使用這個(gè)方法(也就是說,有 __len__() 方法的對(duì)象)。