一: 模板的組成
HTML代碼+邏輯控制代碼
二:邏輯控制代碼的組成
1.變量(使用雙大括號(hào)引用變量)
{{ var_name }}
2.標(biāo)簽(tag)的使用(使用大括號(hào)和百分號(hào)的組成來(lái)表示使用tag)
{% load staticfiles %}
過(guò)濾器(filter)的使用
{{ ship_date|date:"F j,Y" }},ship_date變量傳給date過(guò)濾器,date過(guò)濾器通過(guò)使用"F j, Y"這幾個(gè)參數(shù)來(lái)格式化日期數(shù)據(jù)具练。“|”代表類似的unix命令中的管道操作姑丑。
三:常用標(biāo)簽(tag)
標(biāo)簽名 | 作用 | 注意事項(xiàng) | 擴(kuò)展語(yǔ)法 |
---|---|---|---|
if | 條件控制 | 必須以endif標(biāo)簽結(jié)束 | if..elif..else;表達(dá)式支持:==, !=, <, >, <=, >=, and, or, not, in |
for..in.. | 循環(huán)遍歷 | 必須以endfor標(biāo)簽結(jié)束 | ++參見(jiàn)for標(biāo)簽內(nèi)建變量++ |
for..in.. reversed | 反向循環(huán)遍歷 | 必須以endfor標(biāo)簽結(jié)束 | |
for..in..empty.. | 單獨(dú)指定空的時(shí)候的操作 | 必須以endfor標(biāo)簽結(jié)束 | |
cycle | 循環(huán)時(shí)周期性的遍歷可迭代對(duì)象的每個(gè)元素 | ||
with | |||
url | |||
verbatim | |||
date | |||
load | |||
firstof | |||
spaceless | |||
autoescape | |||
filter | |||
debug | |||
csrf_token |
for循環(huán)內(nèi)建變量
屬性 | 含義 |
---|---|
forloop.counter | 當(dāng)前的循環(huán)計(jì)數(shù)(從1到length) |
forloop.counter0 | 當(dāng)前的循環(huán)計(jì)數(shù)(從0到length-1) |
forloop.revcounter | 當(dāng)前循環(huán)的倒數(shù)計(jì)數(shù)(從length 到 1) ---變得是計(jì)數(shù)牢硅,內(nèi)容還是不變的 |
forloop.revcounter0 | 當(dāng)前循環(huán)的倒數(shù)計(jì)數(shù)(從length-1 到 0)---變得是計(jì)數(shù)名惩,內(nèi)容還是不變的 |
forloop.first | 返回一個(gè)Bool值,是不是循環(huán)的第一個(gè) |
forloop.last | 返回一個(gè)Bool值,是不是循環(huán)的最后一個(gè) |
forloop.parentloop | 對(duì)于嵌套循環(huán),給出父循環(huán)的計(jì)數(shù) |
四:常用過(guò)濾器
名稱 | 作用 | 注意事項(xiàng) | 擴(kuò)展語(yǔ)法 |
---|---|---|---|
add | 給變量加上相應(yīng)的值 | 首先強(qiáng)制轉(zhuǎn)換成Int類型,失敗則(字符串, 列表, 等等.) 轉(zhuǎn)換失敗輸出空字符串 | |
addslashes | 在引號(hào)前面加上斜杠 | ||
capfirst | 首字母大寫(xiě) | ||
cut | 移出指定字符 | ||
date | 根據(jù)給定格式對(duì)一個(gè) 日期 變量格式化 | ||
time | 根據(jù)給定格式對(duì)一個(gè) 時(shí)間 變量格式化 | ||
timesince | 格式化時(shí)間?潦俺?赌躺?狼牺? | ||
default | 如果值是False則替換成設(shè)置的默認(rèn)值 | ||
default_if_none | 如果值是False則替換成設(shè)置的默認(rèn)值 | ||
dictsort | 按照字典中的指定key對(duì)字典進(jìn)行排序 | ||
dictsortreversed | 和上面正好相反 | ||
divisibleby | 值能否被指定數(shù)字整除 | 結(jié)果是Bool類型 | |
escape | 對(duì)字符串進(jìn)行轉(zhuǎn)義 | ||
safe | 與上一個(gè)相反,對(duì)某個(gè)變量關(guān)閉自動(dòng)轉(zhuǎn)義 | ||
escapejs | 替換字符串中的部分值以適應(yīng)javascript和json | ||
filesizeformat | 講數(shù)字轉(zhuǎn)換成可讀的文件大小格式 | ||
first | 返回列表中的第一個(gè)值 | ||
last | 返回列表中的最后一個(gè)值 | ||
floatformat | 格式化浮點(diǎn)數(shù) | ||
length | 字符串或者列表的長(zhǎng)度 | ||
urlencode | 對(duì)url進(jìn)行編碼處理 | ||
upper\lower | 大寫(xiě)\小寫(xiě) | ||
slice | 切片操作 | ||
truncatechars | 按照字符截取字符串 | ||
truncatewords | 按照單詞截取字符串 | ||
striptags | 過(guò)濾掉html標(biāo)簽 | ||
。礼患。是钥。 |
模板和繼承
包含:
{% include %} 允許在模板中包含其它模板的內(nèi)容
標(biāo)簽的參數(shù)可以是:模板名稱、變量缅叠、字符串
{% include 'nav.html'%}
{% include 'app/nav.html'%}
{% include template_name'%}
繼承:
1 {% block %} 定義塊
2 {% extend %} 繼承父模板