框架介绍

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


相关推荐

  • c语言如何遍历数组,C语言数组遍历

    c语言如何遍历数组,C语言数组遍历C语言数组遍历教程C语言for循环遍历数组详解语法for(i=0;i<count;i++){//arr[i]}说明其中count是数组的元素的个数,此时,数组的每一个元素是arr[i]。C语言while循环遍历数组详解语法inti=0;while(i<count){//arr[i]i++;}说明其中count是数组的元素的个数,此时,数组的每一个元…

    2022年7月22日
    12
  • C++中getchar()的使用方法「建议收藏」

    C++中getchar()的使用方法「建议收藏」1getchar()简介getchar()是C语言中的函数,C++中也包含了该函数。getchar()函数的作用是从标准的输入stdin中读取字符。也就是说,getchar()函数以字符为单位对输入的数据进行读取。2getchar()读取缓冲区方式在控制台中通过键盘输入数据时,以回车键作为结束标志。当输入结束后,键盘输入的数据连同回车键一起被输入到输入缓冲区中。在程序中第一次调用getchar…

    2022年10月18日
    5
  • 腾讯早期投资人_腾讯大涨

    腾讯早期投资人_腾讯大涨腾讯“炒基”帝国崛起?作者l大钊排版l勤燐电影《华尔街》里有句经典台词叫,“资本永不眠”。那资本如何不眠呢,无非就是“以钱生钱”,经济基础决定上层建筑,靠庞大的金融帝国撑起更大的商业梦想。近日,深圳证监局发布关于核准腾安基金销售(深圳)有限公司证券投资基金销售业务资格的批复。而腾讯集团相关负责人在接受《国际金融报》记者采访时表示,腾安基金销售(深圳)有限公司是腾讯全资控股的独立基金销售机构,以腾讯理财通平台为基础,开展基金销售业务。拿下第三方基金销售牌照后,腾讯在金融领域就已完成了第三

    2026年2月21日
    6
  • WebServices简介

    WebServices简介先给出一个概念 SOA 即 ServiceOrien 中文一般理解为面向服务的架构 既然说是一种架构的话 所以一般认为 SOA 是包含了运行环境 编程模型 架构风格和相关方法论等在内的一整套新的分布式软件系统构造方法和环境 涵盖服务的整个生命周期 而在 SOA 的架构风格中 服务是最核心的抽象手段 SOA 中的服务是构建在一些列基于开放标准的基础

    2026年3月26日
    2
  • 循环队列 基本概念「建议收藏」

    循环队列 基本概念「建议收藏」循环队列是队列的一种特殊形式。首先介绍队列,然后引申出循环队列。队列又称为“先进先出”(FIFO)线性表限定插入操作只能在队尾进行,而删除操作只能在队首进行队列也可以采用顺序存储结构或链表结构来实现,分别称为顺序队列和链队列队列的顺序表示—顺序队列用一组连续的存储单元依次存放从队首到队尾的元素,附设两个指针head和tail分别指向队首元素和队尾元素的位置,(有的地方用f…

    2022年5月6日
    63
  • ffmpeg采集摄像头数据_手机显示无法获取摄像头数据

    ffmpeg采集摄像头数据_手机显示无法获取摄像头数据这两天研究了FFmpeg获取DirectShow设备数据的方法,在此简单记录一下以作备忘。1.      列设备 ffmpeg-list_devicestrue-fdshow-idummy命令执行后输出的结果如下(注:中文的设备会出现乱码的情况):我自己的机器上列出了以下设备:[dshow@0388f5e0]DirectShowvideodevices[dshow@0388

    2022年10月12日
    4

发表回复

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

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