mvc設(shè)計(jì)模式(model,view,controller)
Model:用于封裝與應(yīng)用程序和業(yè)務(wù)邏輯相關(guān)的數(shù)據(jù)及對(duì)數(shù)據(jù)的處理方法,是web應(yīng)用程序中用于處理用于處理應(yīng)用程序的數(shù)據(jù)邏輯部分,Model通常只是提供功能性的接口,通過(guò)這些接口可以獲取Model的所有功能
View:負(fù)責(zé)數(shù)據(jù)的顯示和呈現(xiàn),View是對(duì)用戶的直接輸出
Controller:負(fù)責(zé)從用戶端收集用戶的輸入,可以看成提供view的反向功能,主要處理用戶交互
圖解:
?
django采用:mtv 模式簡(jiǎn)介
model:負(fù)責(zé)業(yè)務(wù)對(duì)象與數(shù)據(jù)庫(kù)(ORM)的對(duì)象
view:負(fù)責(zé)業(yè)務(wù)邏輯,并在適當(dāng)?shù)臅r(shí)候用MODEL和Template
template:負(fù)責(zé)把頁(yè)面的展示給用戶
django中還有一個(gè)url分發(fā)器(也可以叫做路由),主要用來(lái)將一個(gè)個(gè)URL頁(yè)面的請(qǐng)求分發(fā)給不同的VIEW的進(jìn)行處理,View再
調(diào)用相應(yīng)的model和template
?
?
?
解析:
用戶通過(guò)瀏覽器向我們的服務(wù)器發(fā)起一個(gè)請(qǐng)求(request),這個(gè)請(qǐng)求會(huì)去訪問(wèn)視圖函數(shù):
a.如果不涉及到數(shù)據(jù)調(diào)用,那么這個(gè)時(shí)候視圖函數(shù)直接返回一個(gè)模板也就是一個(gè)網(wǎng)頁(yè)給用戶。
b.如果涉及到數(shù)據(jù)調(diào)用,那么視圖函數(shù)調(diào)用模型,模型去數(shù)據(jù)庫(kù)查找數(shù)據(jù),然后逐級(jí)返回。
本文摘自 :https://www.cnblogs.com/