https://www.cnblogs.com/yuanchenqi/articles/8875659.htmlDjango的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 adminfrom django.urls import pathfrom app01 import viewsurlpatterns = [ ???path(‘admin/‘, admin.site.urls), ???path(‘index/‘,views.index),]视图from django.shortcuts import renderdef 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模型
原文地址:https://www.cnblogs.com/larken/p/9629828.html