注釋
和HTML或編程語言如Python一樣,Django模板語言允許注釋{# #}谅河,如:
{# This is a comment #}
模板渲染時(shí)注釋不會輸出,一個(gè)注釋不能分成多行下面的模板渲染時(shí)會和模板中的內(nèi)容一樣,注釋標(biāo)簽不會解析成注釋
This is a {# comment goes hereand spans another line #}test.
過濾器
模板過濾器是變量顯示前轉(zhuǎn)換它們的值的方式,看起來像下面這樣:
{{ name|lower }}
這將顯示通過lower過濾器過濾后{{ name }}變量的值恢共,它將文本轉(zhuǎn)換成小寫使用(|)管道來申請一個(gè)過濾器過濾器可以串成鏈,即一個(gè)過濾器的結(jié)果可以傳向下一個(gè)下面是escape文本內(nèi)容然后把換行轉(zhuǎn)換成p標(biāo)簽的習(xí)慣用法:
{{ my_text|escape|linebreaks }}
有些過濾器需要參數(shù)璧亚,需要參數(shù)的過濾器的樣子:
{{ bio|truncatewords:"30" }} #這個(gè)對我很重要
這將顯示bio標(biāo)量的前30個(gè)字讨韭,過濾器參數(shù)一直使用雙引號.下面是一些最重要的過濾器:
- addslashed,在任何后斜線癣蟋,單引號透硝,雙引號前添加一個(gè)后斜線當(dāng)你把一些文本輸出到一個(gè)JavaScript字符串時(shí)這會十分有用
- date,根據(jù)一個(gè)格式化string參數(shù)來格式化date或datetime對象疯搅,例如:
{{ pub_date|date:"F j, Y" }}
格式化string會在附錄6定義 - escape濒生,避免給定的string里出現(xiàn)and符,引號秉撇,尖括號當(dāng)你處理用戶提交的數(shù)據(jù)和確認(rèn)合法的XML和XHTML數(shù)據(jù)時(shí)這將很有用escape將作如下的一些轉(zhuǎn)換:
Converts & to &
Converts < to <
Converts > to >
Converts "(雙引號) to "
Converts '(單引號) to '
4甜攀,length秋泄,返回值的長度,你可以在一個(gè)list或string上做此操作或者在任何知道怎樣決定自己的長度的Python對象上做此操作(即有一個(gè)len()方法的對象)
{{new.body | length}}