在工程中建立模板目錄templates。
在settings.py配置檔案中修改templates配置項的dirs值:
templates =[,},]
在templates目錄中新建乙個模板檔案,如index.html
"en"
>
"utf-8"
>
title<
/title>
<
/head>
}<
/h1>
<
/body>
<
/html>
django提供了乙個函式render實現模板渲染。render(request物件, 模板檔案路徑, 模板資料字典)
from django.shortcuts import render
defindex
(request)
: context=
return render(request,
'index.html'
,context)
變數名必須由字母、數字、下劃線(不能以下劃線開頭)和點組成。
語法如下:
}
模板變數可以使python的內建型別,也可以是物件。
def
index
(request)
: context =
,'alist':[
1,2,
3,4,
5]}return render(request,
'index.html'
, context)
lang
="en"
>
>
charset
="utf-8"
>
>
titletitle
>
head
>
>
>
}h1>
>
}h1>
>
}h1>
注意字典的取值方法
>
}h1>
>
}h1>
注意列表的取值方法
body
>
html
>
1)for迴圈:
迴圈邏輯
}表示當前是第幾次迴圈,從1開始
列表為空或不存在時執行此邏輯
2)if條件:
邏輯1邏輯2
邏輯3
比較運算子如下:
==
!=<
>
<=
>=
布林運算子如下:
and
ornot
注意:運算子左右兩側不能緊挨變數或常量,必須有空格。
# 正確
# 錯誤
語法如下:
變數|過濾器:引數
列舉自帶過濾器幾個如下:
data|default:'預設值'
value|date:"y年m月j日 h時i分s秒"
template提供的內建過濾器,不夠用,不靈活,就可以自己定義乙個過濾器2:在py檔案中,先導入from django import template
例項化物件register = template.library()
建立乙個template能認識的函式
對建立的每乙個過濾器,都要用加上裝飾器
- 3.2 使用過濾器
注意點: templatetags資料夾 要在各自的應用內建立模板繼承和類的繼承含義是一樣的,主要是為了提高**重用,減輕開發人員的工作量。
父模板
如果發現在多個模板中某些內容相同,那就應該把這段內容定義到父模板中。
標籤block:用於在父模板中預留區域,留給子模板填充差異性的內容,名字不能相同。 為了更好的可讀性,建議給endblock標籤寫上名字,這個名字與對應的block名字相同。父模板中也可以使用上下文中傳遞過來的資料。
預留區域,可以編寫預設內容,也可以沒有預設內容
子模板標籤extends:繼承,寫在子模板檔案的第一行。
子模版不用填充父模版中的所有預留區域,如果子模版沒有填充,則使用父模版定義的預設值。
填充父模板中指定名稱的預留區域。
實際填充內容
}用於獲取父模板中block的內容
1)單行注釋語法如下:
2)多行注釋使用comment標籤,語法如下:
...
django自帶模板使用及語法
在工程中建立模板目錄templates。在settings.py配置檔案中修改templates配置項的dirs值 templates 在templates目錄中新建乙個模板檔案,如index.html en utf 8 title title head h1 body html django提供了...
django自帶模板使用及語法
在工程中建立模板目錄templates。在settings.py配置檔案中修改templates配置項的dirs值 templates 在templates目錄中新建乙個模板檔案,如index.html en utf 8 title title head h1 body html django提供了...
django自帶url模板標籤的使用
django模板中url標籤和view中的reverse 部落格位址 功能相同,都是通過制定處理檢視來返回乙個url。使用方法 url useredit 12 或者 或者這裡的useredit是處理函式,12是傳遞的引數。這裡有一點需要注意 傳遞引數之前一定要確保你定義的url能夠接受這個引數。例如...