————總目錄——前言——框架版本————********************=== 大爽歌作,made by big shuang ********************===
本文主要參考:模板語法的四種結構中,comments(注釋)結構都是固定的,沒有什麼其他的變化和方法。
所以這裡介紹下其他三種結構的各種用法。
該結構基礎用法為
python為物件導向語言,所以程式裡也會有各種物件,該結構中獲取變數物件的某種屬性的值和python的寫法一樣
}
這裡有乙個需要特別介紹的,就是該結構中如何使用變數物件的某種方法:
}
該結構中只能使用變數物件無需傳參的方法。
該結構中呼叫變數物件的方法時,不要在方法名後加括號()
舉例如下
上面是乙個名為a的類,其第乙個方法是可以在該結構中呼叫的classa:
defvalid_method
(self)
:return
"it's a valild method"
definvalid_method
(self, param)
:return
"it's an invalild method because it has a redundant param"
呼叫方法如下,其中a
是a
的乙個例項
該呼叫語句會再html中生成的對應文字為
}
"it's a valild method"
第二個方法則是不可以在該結構中呼叫的,因為它包含乙個引數param
,該語法結構中無法調入需要傳參的方法。
類方法中self
是類物件本身,所以不算做引數。
拓展介紹
上面我們展示了點這個操作符:.
(dot operator)在模板中可以獲取物件屬性或者呼叫物件的方法。
不過具體的實際情況比這要複雜一些。
從技術上講,當模板系統遇到乙個點時,它會先後嘗試用以下方式來理解.
這個點操作符並執行相應的查詢:
比如這樣的**:
}
具體執行時,會
同時由於有三種查詢方式,有可能會導致衝突,第三種一般不會和其他兩種衝突。
第一種和第二種有可能衝突,即字典鍵和字典物件本身具有的屬性名或者方法名重名時,會導致後者無法獲取到,所以要避免這種重名。
詳細官方文件: ref/templates/language/#variables
url
: 調整url寫法
返回與給定檢視和可選引數匹配的絕對路徑引用(不帶網域名稱的url)。
統一改為通過urls.py裡面指定的urlpattern的name來訪問"/register/"
>register<
/a>
好處:如果有url修改的話,只需要改一次urlpattern,不用去把所有有url的地方都修改一遍"">register<
/a>
更多資訊:#url
for
: 迴圈
迴圈遍歷陣列中的每個項,使該項在上下文變數中可用。
寫法: (一定要用endfor結尾)
示例..
.
}<
/li>
<
/ul>
if
: 條件判斷
標籤計算乙個變數,如果該變數為「true」(即存在,不為空,不為false boolean值),則輸出塊的內容:
寫法: (一定要用endif結尾)
示例..
....
...
其他常用tags及用法將在後續相關章節中介紹
number of athletes:
} athletes should be out of the locker room soon!
no athletes.
模板繼承:block
、endblock
、extends
todo: filters感覺新手基本用不到(或者不習慣去用),未來本小部分可能會放在乙個拓展小節中去講。
Django模板筆記
有些模版 是重複的。因此可以單獨抽取出來,以後 需要用到,就直接使用include進來就可以了。如果想要在include子模版的時候,傳遞一些引數,那麼可以使用with 的形式。示例 如下 在前端頁面開發中。有些 是需要重複使用的。這種情況可以使用include標籤來實現。也可以使用另外乙個比較強大...
Django 模板筆記
變數 檢視傳遞給模板的資料,要遵循識別符號規則 語法 注意 如果變數不存在,則插入的是空字串 在模板中使用點語法 1 字典 2 屬性或者方法 3 數字索引 在模板中呼叫物件中的方法,不能傳遞引數 語法 作用 1 在輸出中建立文字 2 控制邏輯或者迴圈 格式 語句 語句語句2 格式 語句語句2 注意 ...
Django自學筆記之快取
設定快取 django自帶了乙個健壯的快取系統來儲存動態頁面 快取到本地記憶體中 caches 將cache存到redis中,預設採用1資料庫,需要安裝包並配置如下 安裝包 pip install django redis cachesettings.py中配置 caches views.py中 f...