django模板語言,簡寫dtl,定義在django.template包中
由startproject命令生成的settings.py定義關於模板的值:
常用方式:在專案的根目錄下建立templates目錄,設定dirs值
dirs=[os.path
.join(base_dir,"templates")]
模板處理loader.get_template(template_name),返回乙個template物件
template物件的render(requestcontext)方法,使用context渲染模板
from django.template import loader, requestcontext
快捷函式from django.shortcuts import render
defindex
(request):
return render(request, 'temtest/index.html')
變數
}
在模板中呼叫物件的方法from django.db import models
class
heroinfo
(models.model):
...def
showname
(self):
return self.hname
from django.shortcuts import render
from models import *
defindex
(request):
hero = heroinfo(hname='abc')
context =
return render(request, 'temtest/detail.html', context)
}
標籤
for標籤
迴圈邏輯
}表示當前是第幾次迴圈
給出的列表為或列表不存在時,執行此處
邏輯1邏輯2
邏輯3
多行注釋
過濾器if list1|length > 1
name|lower|upper
list
|join:", "
value|default:"什麼也沒有"
value|date:'y-m-d'
注釋
bar #}
這裡可以定義預設值
如果不定義預設值,則表示空字串
實際填充內容
說明區域內容
1.建立根級模板
水果超市title>
head>
top--
}bottom
body>
html>
2.建立分支模版商品
使用者中心
color='blue'>user leftfont>
首頁內容
3.為具體頁面建立模板,繼承自分支模板商品正文列表
使用者密碼修改
4.檢視呼叫具體頁面,並傳遞模板中需要的資料logo='welcome to itcast'
defindex
(request):
return render(request, 'temtest/index.html', )
def
goodslist
(request):
return render(request, 'temtest/goodslist.html', )
def
userpwd
(request):
return render(request, 'temtest/userpwd.html', )
5.配置urlfrom django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^list/$', views.goodslist, name='list'),
url(r'^pwd/$', views.userpwd, name='pwd'),
]
檢視**:
defindex
(request):
return render(request, 'temtest/index2.html',
)模板**:
}
會被自動轉義的字元
< 會轉換為<
> 會轉換為》
' (單引號) 會轉換為'
" (雙引號)會轉換為 "
& 會轉換為 &
}
關閉轉義}
}
字串字面值}
}
Django模板筆記
有些模版 是重複的。因此可以單獨抽取出來,以後 需要用到,就直接使用include進來就可以了。如果想要在include子模版的時候,傳遞一些引數,那麼可以使用with 的形式。示例 如下 在前端頁面開發中。有些 是需要重複使用的。這種情況可以使用include標籤來實現。也可以使用另外乙個比較強大...
Django 模板筆記
變數 檢視傳遞給模板的資料,要遵循識別符號規則 語法 注意 如果變數不存在,則插入的是空字串 在模板中使用點語法 1 字典 2 屬性或者方法 3 數字索引 在模板中呼叫物件中的方法,不能傳遞引數 語法 作用 1 在輸出中建立文字 2 控制邏輯或者迴圈 格式 語句 語句語句2 格式 語句語句2 注意 ...
Django學習筆記 模板
簡單點來說,無外乎就是從前端得到資料,資料在後端處理,將資料返回給前端。這裡就不說如何獲取前端資料了。之前的demo中有一種 return httpresponse u 接收這個請求後,返回的資料 但是這種基本是用不到了,正常的做法是url中的name屬性和view中render。當然也可能使用js...