MVC(Model-View-Controller)
MVC 模式是 1978 年由 Trygve Reenskaug 提出的軟體架構框架,便於解耦、重複利用。
image source: https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller#/media/File:MVC-Process.svg
M (Model,模型): 封裝與資料庫的訪問,處理對資料庫的增刪改查(CRUD)。
V (View,視圖):負責(1)處理業務邏輯、封裝結果;(2)生成頁面展現給使用者。
C (Controller,控制器):對 Request、Response 進行處理、處理 Model 與 View 的交互。
MTV(Model-Template-View)
Django 採用的是類似 MVC 的 MTV (Model-Template-View) 架構:
image source: https://djangobook.com/mdj2-django-structure/
M (Model,模型): 同上 Model。
T (Template,模板):同上的 View (2)生成頁面展現給使用者的部分,也就是我們看見的前端 HTML、CSS、JavaScript 的部分。
V (Views,視圖):同上的 View (1)處理業務邏輯、封裝結果的部分,負責處理 URL 與 callback 函式之間的關係,每一個view都代表一個簡單的Python function。
C (Controller,控制器)的部分如果要對應的話為 Django 本身。