首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django网站开发四件套是如何遵循MVC软件设计模式的?

如果你要开发一个好的网站或网络应用,你就必需了解经典的软件开发所遵循的MVC 设计模式。Django作为最优秀的基于Python语言的网站开发框架,当然也遵循了这种设计模式。小编我就尝试用比较通俗点的语言给你解释下什么是MVC框架以及Django网站开发是如何遵循这种软件开发设计模式的吧。

什么是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,小编我就是这样的人。那么你呢?欢迎留言啊。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180502G1C3SQ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券