MVC與MTV模型
阿新 • • 發佈:2018-09-11
http mod 數據庫 pattern now() pan views htm .com
https://www.cnblogs.com/yuanchenqi/articles/8875659.html Django的MTV模式本質上和MVC是一樣的,也是為了各組件間保持松耦合關系,只是定義上有些許不同,Django的MTV分別是值: M 代表模型(Model): 負責業務對象和數據庫的關系映射(ORM)。 T 代表模板 (Template):負責如何把頁面展示給用戶(html)。 V 代表視圖(View): 負責業務邏輯,並在適當時候調用Model和Template。 除了以上三層之外,還需要一個URL分發器,它的作用是將一個個URL的頁面請求分發給不同的View處理,View再調用相應的Model和Template
一般是用戶通過瀏覽器向我們的服務器發起一個請求(request),這個請求回去訪問視圖函數,(如果不涉及到數據調用,那麽這個時候視圖函數返回一個模板也就是一個網頁給用戶),視圖函數調用模型,模型去數據庫查找數據,然後逐級返回,視圖函數把返回的數據填充到模板中空格中,最後返回網頁給用戶。 基於Django實現的一個簡單示例 url控制器from django.contrib import admin from django.urls import path from app01 import views urlpatterns = [ path(‘admin/‘, admin.site.urls), path(‘index/‘,views.index), ] 視圖 from django.shortcuts import render def index(request): import datetime now=datetime.datetime.now() ctime=now.strftime("%Y-%m-%d %X") return render(request,"index.html",{"ctime":ctime}) 模板 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h4>當前時間:{{ ctime }}</h4> </body> </html>
MVC與MTV模型