柚子快報(bào)激活碼778899分享:Django架構(gòu)圖
柚子快報(bào)激活碼778899分享:Django架構(gòu)圖
1. Django 簡介
基本介紹
Django 是一個(gè)由 Python 編寫的一個(gè)開放源代碼的 Web 應(yīng)用框架
使用 Django,只要很少的代碼,Python 的程序開發(fā)人員就可以輕松地完成一個(gè)正式網(wǎng)站所需要的大部分內(nèi)容,并進(jìn)一步開發(fā)出全功能的 Web 服務(wù) Django 本身基于 MVC 模型,即 Model(模型)+ View(視圖)+ Controller(控制器)設(shè)計(jì)模式,MVC 模式使后續(xù)對(duì)程序的修改和擴(kuò)展簡化,并且使程序某一部分的重復(fù)利用成為可能
MVC 優(yōu)勢(shì):
低耦合開發(fā)快捷部署方便可重用性高維護(hù)成本低...
Python 加 Django 是快速開發(fā)、設(shè)計(jì)、部署網(wǎng)站的最佳組合
特點(diǎn)
強(qiáng)大的數(shù)據(jù)庫功能自帶強(qiáng)大的后臺(tái)功能優(yōu)雅的網(wǎng)址
2. MVC 與 MTV模型
MVC 模型
MVC 模式(Model–view–controller)是軟件工程中的一種軟件架構(gòu)模式,把軟件系統(tǒng)分為三個(gè)基本部分:模型(Model)、視圖(View)和控制器(Controller)
MVC 以一種插件式的、松耦合的方式連接在一起。
模型(M)- 編寫程序應(yīng)有的功能,負(fù)責(zé)業(yè)務(wù)對(duì)象與數(shù)據(jù)庫的映射(ORM)視圖(V)- 圖形界面,負(fù)責(zé)與用戶的交互(頁面)控制器(C)- 負(fù)責(zé)轉(zhuǎn)發(fā)請(qǐng)求,對(duì)請(qǐng)求進(jìn)行處理
用戶操作流程圖:
MTV 模型
Django 的 MTV 模式本質(zhì)上和 MVC 是一樣的,也是為了各組件間保持松耦合關(guān)系,只是定義上有些許不同,Django 的 MTV 分別是指:
M 表示模型(Model):編寫程序應(yīng)有的功能,負(fù)責(zé)業(yè)務(wù)對(duì)象與數(shù)據(jù)庫的映射(ORM)T 表示模板 (Template):負(fù)責(zé)如何把頁面(html)展示給用戶V 表示視圖(View):負(fù)責(zé)業(yè)務(wù)邏輯,并在適當(dāng)時(shí)候調(diào)用 Model和 Template
除了以上三層之外,還需要一個(gè) URL 分發(fā)器,它的作用是將一個(gè)個(gè) URL 的頁面請(qǐng)求分發(fā)給不同的 View 處理,View 再調(diào)用相應(yīng)的 Model 和 Template,MTV 的響應(yīng)模式如下所示:
簡易圖:
用戶操作流程圖:
解析:
用戶通過瀏覽器向我們的服務(wù)器發(fā)起一個(gè)請(qǐng)求(request),這個(gè)請(qǐng)求會(huì)去訪問視圖函數(shù):
a.如果不涉及到數(shù)據(jù)調(diào)用,那么這個(gè)時(shí)候視圖函數(shù)直接返回一個(gè)模板也就是一個(gè)網(wǎng)頁給用戶b.如果涉及到數(shù)據(jù)調(diào)用,那么視圖函數(shù)調(diào)用模型,模型去數(shù)據(jù)庫查找數(shù)據(jù),然后逐級(jí)返回
視圖函數(shù)把返回的數(shù)據(jù)填充到模板中空格,最后返回網(wǎng)頁給用戶
MVC模型和MTV模型比較
100. 參考資料?
Django 簡介 | 菜鳥教程
柚子快報(bào)激活碼778899分享:Django架構(gòu)圖
文章鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。