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語言內容請搜索億速云以前的文章或下面相關文章,希望大家以后多多支持億速云!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。