詳解django中Template語言
阿新 • • 發佈:2020-02-24
Django是一個開放原始碼的Web應用框架,由Python寫成。採用了MTV的框架模式,即模型M,檢視V和模版T。它最初是被開發來用於管理勞倫斯出版集團旗下的一些以新聞內容為主的網站的,即是CMS(內容管理系統)軟體。並於2005年7月在BSD許可證下發布。這套框架是以比利時的吉普賽爵士吉他手Django Reinhardt來命名的。
下面看下本文重點給大家介紹的django中Template語言,詳情如下:
Template本身也有自己的語言和語法,用來處理簡單的資料顯示
1.常用語法
判斷指令
{% 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回隨機出現這些字串
2.過濾器與其他語法識別符號
過濾器名 | 用法 | 範例 |
---|---|---|
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:"對的,錯了,不知道"}} |
總結
到此這篇關於詳解django中Template語言的文章就介紹到這了,更多相關django中template語言內容請搜尋我們以前的文章或下面相關文章,希望大家以後多多支援我們!