MVC與MTV模型及Django請求生命週期

MVC模型

MVC:Model View Controller
M:模型。是應用程序中用於處理應用程序數據邏輯的部分
V:試圖。是應用程序中處理數據顯示的部分
C:控制器。是應用程序中處理用戶交互的部分
Web服務器開發領域裏著名的MVC模式,所謂MVC就是把Web應用分爲模型(M),控制器©和視圖(V)三層,他們之間以一種插件式的、鬆耦合的方式連接在一起,模型負責業務對象與數據庫的映射(ORM),視圖負責與用戶的交互(頁面),控制器接受用戶的輸入調用模型和視圖完成用戶的請求,其示意圖如下所示:
MVC模型圖解

C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新。

優點:

  • 耦合度低
  • 重用行高
  • 生命週期成本低
  • 部署速度快
  • 可維護性高
  • 有利於軟件工程化管理

缺點:

  • 沒有明確的定義
  • 不適合小型應用程序
  • 增加系統結構複雜性

MTV模型

Django使用的的MTV模型本質上和MVC是一樣的,也是爲了各組件間保持鬆耦合關係,只是定義上有些許不同,Django的MTV分別是值:
M:Model。負責業務對象和數據庫的關係映射(ORM)
T:Template。負責如何把頁面展示給用戶
V:View。負責業務邏輯,並在適當時候調用Model和Template

除了以上三層之外,還需要一個URL分發器,它的作用是將一個個URL的頁面請求分發給不同的View處理,View再調用相應的Model和Template,MTV的響應模式如下所示:
Django的MTV模型圖解

一般是用戶通過瀏覽器(Browser)向我們的服務器發起一個請求(request),這個請求會在控制器層(url)進行匹配,匹配成功以後調用相應的視圖函數(如果不涉及到數據調用,那麼這個時候視圖函數返回一個模板也就是一個網頁給用戶),視圖函數調用模型,模型去數據庫查找數據,然後逐級返回,視圖函數把返回的數據填充到模板中空格中,最後返回網頁給用戶。

Django請求生命週期

整個生命週期:
Django請求的生命週期圖解

使用Terminal/cmd創建一個Django項目(瞭解)

在終端輸入:
django-admin startproject 項目名Terminal創建Django項目

創建一個新項目時,目錄下有這些東西:
Django項目目錄下的文件

在終端中輸入:
python manage.py startapp app名創建一個app
輸入:
python manage.py runserver 端口號 該項目就啓動了,就可以通過http://127.0.0.1:端口號 進行訪問了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章