码迷,mamicode.com
首页 > 其他好文 > 详细

Django(一):Django的设计模式

时间:2020-02-10 13:39:50      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:模式   nbsp   mode   lod   index   出生日期   软件开发   code   html   

什么是MVC设计模式? 及其优点

MVC即 Model-View-Controller(模型-视图-控制器) 模式。

技术图片

- Model (模型) 简而言之即数据模型。模型不是数据本身(比如数据库里的数据),而是抽象的描述数据的构成和逻辑关系。通常模型包括了数据表的各个字段(比如人的年龄和出生日期)和相互关系(单对单,单对多关系等)。数据库里的表会根据模型的定义来生成创建。

- View (视图) 主要用于显示数据,用来展示用户可以看到的内容或提供用户可以输入或操作的界面。数据来源于哪里?当然是数据库啦。那么用户输入的数据给谁? 当然是给控制器啦。

- Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据(比如增加或更新数据表)。

技术图片

MVC最大的优点是实现了软件或网络应用开发过程中数据,业务逻辑和界面的分离,使软件开发更清晰,也是维护变得更容易。这与静态网页设计中使用html和css实现了内容和样式的分离是同一个道理。

Django中的MTV模式

Django网站开发的mtv模式: Model(模型), Template(模板)和View(视图)。它们看似与MVC设计模式不太一致,其实本质是相同的。但是Django的View和经典的View确实有非常大的不同。

- Model:与经典MVC模式下的Model差不多。也是数据模型并不是数据本身

- Template:与经典MVC模式下的View一致。决定了用户界面的外观

- Views:负责业务逻辑,并调用Model和Template。

此外还有一个路由分发器Urls,将一个个URL的页面请求分发给不同的View处理,View再调用相应的Model和Template。Urls+Views合起来使用,与经典MVC下的Controller更像

 

技术图片

 

Hello Django示例

/hellodjango/urls.py

from django.urls import path
from . import views

urlpatterns = [
    path(‘index/‘, views.index, name=index),
]

/App/views.py

from django.http import HttpResponse
def index(request):
    return HttpResponse("Hello Django!")

 

Django(一):Django的设计模式

标签:模式   nbsp   mode   lod   index   出生日期   软件开发   code   html   

原文地址:https://www.cnblogs.com/xiaoqichaoren/p/12290383.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!