wordpress付費(fèi)主題百度seo公司興田德潤
Django的設(shè)計(jì)模式及模板層
設(shè)計(jì)模式MVC和MVT
MVC 代表 Model-View-Controller(模型-視圖-控制器)模式。
M 模型層(Model),主要用于對(duì)數(shù)據(jù)庫層的封裝
V 視圖層(View),用于向用戶展示結(jié)果 (WHAT + HOW)
C 控制(Controller,用于處理請(qǐng)求、獲取數(shù)據(jù)、返回結(jié)果(重要)
作用: 降低模塊間的合度(解
Python中獨(dú)有的MTV模式(C大概就是主路由)
MTV 代表Model-Template-View模式(模型-模板-視圖)
M 模型層(Model) 負(fù)責(zé)與數(shù)據(jù)庫交互
T模板層(Template) 負(fù)責(zé)呈現(xiàn)內(nèi)容到瀏覽器(HOW)
V 視圖層(View) 是核心,負(fù)責(zé)接收請(qǐng)求、獲取數(shù)據(jù)、返回結(jié)果(WHAT)
作用:降低模塊間的耦合度(解耦)
模板
1.模板是可以根據(jù)字典數(shù)據(jù)動(dòng)態(tài)變化的html網(wǎng)頁
2.模板可以根據(jù)視圖中傳遞的字典數(shù)據(jù)動(dòng)態(tài)生成相應(yīng)的HTML網(wǎng)頁。
模板配置
創(chuàng)建模板文件夾<項(xiàng)目名>/templates
在 settings.py 中 TEMPLATES 配置項(xiàng)
BACKEND:指定模板的引擎
DIRS:模板的搜索目錄(可以是一個(gè)或多個(gè))
APP_DIRS:是否要在用中的 templates 文件夾中搜索模板文件
ORTIONS:有關(guān)模板的選項(xiàng)
配置項(xiàng)中需要修改部分
設(shè)置DIRS -‘DIRS’:[BASE_DIR/‘templates’]
模板的加載方式
在視圖函數(shù)中
from django.shortcuts import render
return render(request,模板文件名,,字典數(shù)據(jù))
視圖層與模板層之間的交互
1,視圖函數(shù)中可以將Python變量封裝到字典中傳遞到模板
樣例
def xxx_view(request)
dic = {
"變量1":"值1",
"變量2":"值2",
}
return render(request,'xxx .html', dic)
2,模板中,我們可以用{{變量名}} 的語法 調(diào)用視圖傳進(jìn)來的變量