如果你要開發一個好的網站或網絡應用,你就必需瞭解經典的軟件開發所遵循的MVC 設計模式。Django作爲最優秀的基於Python語言的網站開發框架,當然也遵循了這種設計模式。
MVT MVC 是爲了應用得到複用, 應用之間的解耦, 接口的複用 ,擴展性之分強大, 這就是django的魅力
應用之間相互沒有關係, 每個應用相互獨立, 和url進行綁定.靈活, 哪裏用去哪裏綁定, 用哪個綁定哪個.
比如在xadmin中, 就將這一特點表現的淋漓盡致.
註冊應用, 可分爲三種, django自帶的應用模塊 , 引入註冊的第三方應用 , 自己寫的應用模塊
並且下載的第三方的應用 模型類直接遷移, 直接migrate什麼是MVC模式? 它有什麼優點?
MVC即 Model-View-Controller(模型-視圖-控制器) 模式。
Model (模型) 簡而言之即數據模型。模型不是數據本身(比如數據庫裏的數據),而是抽象的描述數據的構成和邏輯關係。通常模型包括了數據表的各個字段(比如人的年齡和出生日期)和相互關係(單對單,單對多關係等)。數據庫裏的表會根據模型的定義來生成創建。
View (視圖) 主要用於顯示數據,用來展示用戶可以看到的內容或提供用戶可以輸入或操作的界面。數據來源於哪裏?當然是數據庫啦。那麼用戶輸入的數據給誰? 當然是給控制器啦。
Controller(控制器)是應用程序中處理用戶交互的部分。通常控制器負責從視圖讀取數據,控制用戶輸入,並向模型發送數據(比如增加或更新數據表)。
如果把MVC比喻成一個糉子,那麼View就是最外面一層的綠色玉米葉,是吃貨們可以直接看到的。Controller就是中間那層熟糯米,而糉子的核心自然是最裏面那一層的肉餡Model模型了。現在大家知道中學和大學數學建模的重要性了吧?
MVC最大的優點是實現了軟件或網絡應用開發過程中數據,業務邏輯和界面的分離,使軟件開發更清晰,也是維護變得更容易。這與靜態網頁設計中使用html和css實現了內容和樣式的分離是同一個道理。
Django網站開發是如何遵循MVC設計模式的?
Django網站開發全靠四件套: Model(模型), URL(鏈接), View(視圖) 和Template(模板)。它們看似與MVC設計模式不太一致,其實本質是相同的。但是Django的View和經典的View確實有非常大的不同。Django四件套與經典的MVC對應關係如下。
Django Model(模型): 這個與經典MVC模式下的Model差不多。
Django URL + View(視圖): 這兩個合起來與經典MVC下的Controller更像。原因在於Django的URL和View合起來才能向Template傳遞正確的數據。用戶輸入提供的數據也需要Django的View來處理。
Django Template(模板): 這個與經典MVC模式下的View一致。Django模板用來呈現Django view傳來的數據,也決定了用戶界面的外觀。Template裏面也包含了表單,可以用來蒐集用戶的輸入。
Django網站開發應先寫URL還是先寫View?
使用Django開發網站的第一步絕對是定義模型(Model), 如果寫個不需要使用數據庫的小應用,也完全可以不定義模型,直接寫URL和View, 比如下面打印Hello world的案例。那麼問題來了,我們一般該先寫URL還是View呢?答案是兩者都可以,完全取決於個人偏好。一般來說喜歡從上至下思考的人都喜歡先寫URL,小編我就是這樣的人。那麼你呢?歡迎留言啊。
- #helloworld/urls.py
- from django.urls import path
- from . import views
- urlpatterns = [
- path('', views.index, name='index'),
- ]
- #helloworld/views.py
- from django.http import HttpResponse
- def index(request):
- return HttpResponse("Hello world!")