Template本身也有自己的語言和語法,用來處理簡單的數據顯示 1. 常用語法 判斷指令 {% if 條件 %}...{%endif%} {% if 條件 %}...{%elif 條件 %}...{%endif%} {% if 條件 %}...{%elif 條件 %}...{%else%}...{ ...
Template本身也有自己的語言和語法,用來處理簡單的數據顯示
- 常用語法
- 判斷指令
{% if 條件 %}...{%endif%}
{% if 條件 %}...{%elif 條件 %}...{%endif%}
{% if 條件 %}...{%elif 條件 %}...{%else%}...{%endif%}
{% if a in b %}...{%endif%} - 迴圈指令
{%for %} ...{%endfor}- {% froloop.counter%}用來顯示當前迴圈的計數器,從1開始
- {% forloop.counter0%}用來顯示當前迴圈的計數器,從0開始
- {% froloop.recounter%} 和counter相反,反過來計算的計數值,至1結束
- {% forloop.recounter0%}和counter0相反,反過來計算的計數值,至0結束
- {% forloop.first%}返回的是布爾值,
- {% forloop.last%}返回的是布爾值,
- {% forloop.parentloop%}用來引用上一層迴圈(父級迴圈)的forloop對象
- {% cycle%}:網頁出現表格是會根據奇、偶行數存放不一樣的設置,比如顏色。
- {% empty%} :如果for 迴圈式空字元串,就會導致for迴圈執行不下去,但是頁面不能空著,就讓他處理下麵的這個語句。
- {% now 格式字元串 %} : 顯示當前日期時間的功能,不用從後端傳入。格式字元串:'D M Y hⓂ️s a'
- {% lorem %} :不知道什麼內容時的填充符,表示一段沒有意義的文字。{% lorem [count][method][random]%} count是次數,method可以設置為 w (表示文字),p (表示段落),最後加上random回隨機出現這些字元串
- 判斷指令
- 過濾器與其他語法標識符
過濾器名 | 用法 | 範例 |
---|---|---|
addslashes | 為字元串需要的地方加上轉義字元 | {{mes|addslashes}},如mes的內容為"It's a cat",會變成“It' a cat ” |
capfirst | 字元串首字母大寫 | |
center,ljust,rjust | 為字元串內容加上指定空格後居中,靠左,靠右 | {{mes|cener:"15"}},mes居總,占據15個字元 |
cut | 在字元串中刪除指定的子字元串 | {{mes|cut: ' '}} ,移除所有空格字元串 |
date | 設置日期顯示時間 | {{value|date:" D d M Y"}} value為datetime的標準格式, 可以用date來指定詳細的格式和內容, |
default | 如果沒有值,設置預設值 | {{mes|default :"沒有信息“}} |
dictsort | 為字典形式內容的變數排列順序 | {{value|dictsort :"name"}},以名字欄位來作為排序的依據 |
dictsortreversed | 上一指令的反向排序 | |
divisibleby | 測試數值數據是否可被指定的數整除 | {{value|divisibleby:5} 測試value是否可被5整除 |
escape | 把字元串的HTML標記變成顯示用的的字元串 | {{msg|escape}},msg中若有HTM標誌,則會失去作用且被以文字的形式顯示出來 |
filesizeformat | 以人們習慣的方式顯示文件大小的格式(KB,MB) | {{value| filesizeformat}} |
first | 只取出列表中的第一個數據 | {{value|first}} |
last | 只取出列表中的最後一個數據 | 同上 |
length | 返回列表的數據長度 | 同上 |
length_is | 測試數據是否為指定長度 | {{value | length_is: "3"}}, 測試values的長度是否為3 |
floatformat | 以指定的浮點數格式來顯示數據 | {{value|floatformat:3}}指定三位小數位 |
linebreaks | 把文字內容的換行符號轉換為HTML的 和 |
{{msg|linebreaks}} |
linebreaksbr | 把文字內容的換行符號轉換為HTML的 |
{{msg|linebreaksbr}} |
linenumber | 為顯示的文字加上行號 | {{msg|linenumbers}} |
lower/upper | 把字元串的全部內容轉換為小寫/大寫 | 同上 |
random | 以隨機數將前面的數據內容顯示出來 | {{values | random}} |
safe | 標記字元串為安全的,不需要再處理轉義字元 | {{msg|sage}} |
slugify | 把字元串內的空格編程”-“,讓字元串可以安全地放在網址欄 | {{msg|slugify}},若原本的msg為”It's a cat",則會返回“Its-a-cat" |
striptags | 把所有的HTML標記都刪除 | |
truncatechars | 把過長的字元串裁切成指定長度,同時最後面的3個字元會轉換成”..." | {{msg|truncatechars:20}} |
wordcount | 計算字數 | {{msg|wordcount}} |
yesno | 按照值得內容是True,False,None,顯示出有意義的內容 | {{value|yesno:"對的,錯了,不知道"}} |