首页 > 其他分享 >django系列-起源&MTV设计模式

django系列-起源&MTV设计模式

时间:2023-05-15 19:13:31浏览次数:38  
标签:框架 MTV Django MVC django Model 设计模式 View

一、django起源

Django是一个开放源代码的Web应用框架,使用Python语言编写完成。由于Python语言是跨平台的,所以,不论操作系统是Windows、Linux还是macOS X,都可以开发Django应用。Web框架是一套组件,提供通用的设计模式,能够最大程度地降低开发Web站点的难度。Django的设计目标就是使开发复杂的、数据库驱动的网站变得简单,注重组件的可重用性与可插拔性。本章我们就来看一看Django是怎么被发明出来的,它能够做什么,有哪些组件以及各自的功能特性。

二、设计模式

1、MVC设计模式

Web服务器开发领域有著名的MVC设计模式:Model(数据存取层)-View(视图层)-Controller(业务逻辑)。

(1)M(Model):数据存取层,是对数据实体的定义和对数据的增删改查操作;

(2)V(View):视图层,即系统中选择显示什么和怎么显示的部分;

(3)C(Controller):控制层,负责从View中输入的指令检索Model中的数据,再以一定的逻辑输出。

MVC的3层之间紧密相连,但是又相互独立。每一层的修改都不会影响其他层,每一层都提供了各自独立的接口供其他层调用,这种模块化的开发极大地降低了代码之间的耦合,也增加了模块的可重用性

2、MTV设计模式

Django框架的设计模式借鉴了经典的MVC思想,将交互过程分成了3层,主要目的是降低各个模块之间的耦合。Django框架将交互过程拆分为Model(模型)、Template(模板)和View(视图),即MTV设计模式,主要包括以下内容。

(1)M(Model):数据存取层,这一层处理所有与数据相关的事务,提供在数据库中管理(添加、修改、删除)和查询记录的机制。

(2)T(Template):表现层,处理页面的显示,即所有与表现相关的决定都由这一层去处理。

(3)V(View):业务逻辑层,负责处理业务逻辑,会在适当的时候将Model与Template组合在一起,通常被认为是联通M与T的桥梁。从概念上可以看出,Django也是一个MVC框架,但是在Django中,C(Controller)是由框架自行处理的,它由框架的URLConf来实现,其机制是使用正则表达式匹配URL,再去调用合适的Python函数。所以,Django更关心的是M、T和V。

三、

 

标签:框架,MTV,Django,MVC,django,Model,设计模式,View
From: https://www.cnblogs.com/coderRocky/p/17402811.html

相关文章

  • Django文件上传
    form-data格式发送form-data格式上传文件数据,文件对象存储在类字典对象request.FILES中#print(request.POST.get('xxx'))#xxx#print(request.POST.get('yyy'))#yyy#print(request.FILES)#<MultiValueDict:{'file':[<InMemoryUploadedFile:640.......
  • 常用设计模式之.Net示例代码合集
    每一次初学者粉丝朋友,在后台向我咨询编程问题,我除了给他们指导学习路线,我都会建议他们学完基础知识后,一定要要注重编程规范,学习设计模式,修炼内功。虽然说很多程序员,他们日常主要工作是CRUD,但是学习设计模式也是有助于学习公司的框架,另外设计模式是为了可重用代码、让代码更容易被......
  • Labview OOP Plug-in框架模板资料,适合研究学习(涉及到设计模式的命令模式和工厂模式)
    LabviewOOPPlug-in框架模板资料,适合研究学习(涉及到设计模式的命令模式和工厂模式)。文件包含模板vipc安装包一份,操作手册一份。ID:1686613644553790......
  • PHP常用设计模式
    单例模式特点:三私一公:私有的静态变量(存放实例),私有的构造方法(防止创建实例),私有的克隆方法(防止克隆对象),公有的静态方法(对外界提供实例) 应用场景:程序应用中,涉及到数据库操作时,如果每次操作的时候连接数据库,会带来大量的资源消耗。可以通过单例模式,创建唯一的数据库连接对象......
  • 【acwing】Django课程笔记
     工程课Linux-8.0.SSH的简易安全配置-AcWing  (避免服务器被偷家)怎样修改远程登录的端口?_弹性云服务器ECS_常见问题_登录与连接_远程连接类_华为云(huaweicloud.com)vim/etc/ssh/sshd_configservicesshdrestart ......
  • Django中使用分页器
    场景描述有一个get请求,如果传递的有id,则返回具体某一个菜品的信息,如果没有,则返回当前默认分页的内容,获取用户传递的分页参数进行查询。分页说明如果数据量很大,几百上千条,一般是需要使用分页器的,这样可以对用户,对服务器,对网络都比较友好。如果当前框架不提供分页查询功能,也就是......
  • 设计模式-工厂模式
    工厂模式(FactoryPattern)是Java中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。简单来说就是:我们创建一个工厂类,然后当......
  • Django如何把SQLite数据库转换为Mysql数据库
    大部分新手刚学Django开发的时候默认用的都是SQLite数据库,上线部署的时候,大多用的却是Mysql。那么我们应该如何把数据库从SQLite迁移转换成Mysql呢?之前我们默认使用的是SQLite数据库,我们开发完成之后,里面有许多数据。如果我们想转换成Mysql数据库,那我们先得把旧数据从SQLite导出......
  • Django笔记四十之运行Django环境的python脚本
    本文首发于公众号:Hunter后端原文链接:Django笔记四十之运行Django环境的python脚本这一篇笔记介绍如何在Django中运行脚本。假设说我们要实现一个功能,需要获取blog.models.Blog这张表里的总数且使用print()输出。如果代码逻辑很短,且是一次性执行的操作,我们可以在系统的......
  • Java设计模式【单例模式】
    Java设计模式【单例模式】单例模式单例模式(SingletonPattern)是一种创建型设计模式,其主要目的是确保一个类只有一个实例,并提供对该实例的唯一访问点。优缺点优点:提供了对唯一实例的受控访问。由于在系统内存中只存在一个对象,因此可以节约系统资源。缺点:单例类的......