框架介绍

MVC模式MVC模式介绍Django中的MVC模式分为三个部分此外,Django还有一个URL分发器。它的作用是将一个个URL的页面请求分别发给不同的Views处理,Views再调用相应的Mod

大家好,又见面了,我是你们的朋友全栈君。

MVC模式

MVC(Model-view-controller)是一种在软件工程中广泛使用的设计模式。特别适合于GUI设计和WEB应用设计,可以方便的修改应用的表示层而不影响业务的逻辑。或者修改底层业务逻辑而不
影响其他部分。现在新的WEB开发框架很多都采用MVC模式

MVC模式介绍

Django中的MVC模式分为三个部分

Model(模型):和数据库相关的,负责业务对象与数据库的对象(ORM)

         在模型层次上,包含了业务逻辑流程和状态,这些模型包含应用处理数据的方法。业务模型的设计是MVC模式的设计核心

     Template(模板):放所有的html文件

View(视图):负责业务逻辑,并在适当的时候调用Model和Template

        视图层次包含最终用户的操作界面,包含输入数据和输出显示等。对于具体的应用,可能有多个视图显示

Controller(控制层):可以实现对应用的具体的控制。控制层次可以将模型层次和视图层次结合起来,共同完成特定的应用请求。

  此外,Django还有一个URL分发器。它的作用是将一个个URL的页面请求分别发给不同的Views处理,Views再调用相应的Model和Template。

<span role="heading" aria-level="2">框架介绍

<span role="heading" aria-level="2">框架介绍

MVC的优劣势

优点

1.各施其职,互不干涉

在MVC模式中,三个层各施其职,所以如果一旦哪一层的需求发生了变化,就只需要更改相应的层中的代码而不会影响到其它层中的代码。

2.有利于开发中的分工

在MVC模式中,由于按层把系统分开,那么就能更好的实现开发中的分工。网页设计人员可以进行开发视图层中的JSP,对业务熟悉的开发人员可开发业务层,而其它开发人员可开发控制层。

3.有利于组件的重用

分层后更有利于组件的重用。如控制层可独立成一个能用的组件,视图层也可做成通用的操作界面。

缺点

MVC的不足体现在以下几个方面:

(1)增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。

(2)视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。

(3)视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。

(4) 目前,一般高级的界面工具或构造器不支持MVC模式。改造这些工具以适应MVC需要和建立分离的部件的代价是很高的,从而造成使用MVC的困难。MVC

MTV模式

Django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,来降低各个部分之间的耦合性。

Django框架的不同之处在于它拆分的三部分为:Model(模型)、Template(模板)和View(视图),也就是MTV框架。

Django的MTV模式

       Model(模型):负责业务对象与数据库的对象(ORM)

       Template(模版):负责如何把页面展示给用户

       View(视图):负责业务逻辑,并在适当的时候调用Model和Template

此外,Django还有一个urls分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template

Django框架图示

<span role="heading" aria-level="2">框架介绍

 APP

一个Django项目可以分为很多个APP,用来隔离不同功能模块的代码。

命令行创建

python manage.py startapp app01

使用PyCharm创建

<span role="heading" aria-level="2">框架介绍

在下方弹出的命令窗口输入:

startapp app01

 路由

 

视图

 

模板

 

模型

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/124467.html原文链接:https://javaforall.net

(0)
上一篇 2022年3月29日 下午6:35
下一篇 2022年3月29日 下午7:00


相关推荐

  • navicat生成激活码错误【2021.7最新】

    (navicat生成激活码错误)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~M…

    2022年3月21日
    189
  • javascript activexobject_activex控件

    javascript activexobject_activex控件一、什么是ActiveX控件?    ActiveX控件广泛用于Internet。它们可以通过提供视频、动画内容等来增加浏览的乐趣。不过,这些程序可能出问题或者向您提供不需要的内容。在某些情况下,这些程序可被用来以您不允许的方式从计算机收集信息、破坏您的计算机上的数据、在未经您同意的情况下在您的计算机上安装软件或者允许他人远程控制您的计算机。一般软件需要用户单独下载然后执行

    2022年10月14日
    4
  • SpringBoot 实现热部署[通俗易懂]

    SpringBoot 实现热部署[通俗易懂]SpringBoot实现热部署1、添加依赖&lt;!–热部署–&gt;&lt;dependency&gt;&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;&lt;artifactId&gt;spring-boot-devtools&lt;/artifactId&gt;&lt;ver…

    2022年5月21日
    35
  • 3天学会MaxScript教程之(第一天:开始编写我们的第一个MaxScript)

    3天学会MaxScript教程之(第一天:开始编写我们的第一个MaxScript)1 了解 MaxScript 这是 Max 内置的脚本语言 可以很方便用来完成一些程序化或者快速完成一些机械性的操作 比如导入一千个模型 并且按照项目的特定规定 分类分大小分种类导入到不同文件夹下 人来完成这件事情将是非常无聊乏味和低效的 所以使用脚本来批量完成会更有价值 2 开始搭建一个我们的编程环境我习惯了 c 的高亮和自动补全 如果叫我用 max 自带的那个 editor 来做我会觉得十分痛苦 所以我

    2026年3月26日
    2
  • 活期存款利息的计算方法包括_活期存款计算利息天数

    活期存款利息的计算方法包括_活期存款计算利息天数因为活期存款的利息很低,所以,人们对活期存款的利息怎样计算,并不是十分在意。我也如是。可是前些日子我陪一位老同事去买国债,在回家的路上我们偶尔谈到了这个问题,有些问题我也不太明白。但是,我还是想把这个

    2022年8月4日
    6
  • 转载::深入研究DataList分页方法

    转载::深入研究DataList分页方法

    2021年8月18日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号