python day100-[day41-45]-1 web-django 简介

MVC和MTV模式

20200313


参考 https://www.cnblogs.com/zeug/p/10549955.html

pip install django==1.11.7 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

  • Django
Django,发音为[`dʒæŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计.
Django的主要目:简便、快速的开发「数据库」驱动的网站.
Django原生提供了众多的功能组件,让开发更简便快速。
提供项目工程管理 自动化脚本工具
数据库ORM支持(对象关系映射,英语:Object Relational Mapping)
模板
表单
Admin管理站点
文件管理
认证权限
session机制
缓存

  • 著名的MVC模式

1.所谓MVC就是把web应用分为模型(M),控制器(C),视图(V)三层;他们之间以一种插件似的,松耦合的方式连接在一起。
2.模型负责业务对象与数据库的对象(ORM),视图负责与用户的交互(页面),控制器(C)接受用户的输入调用模型和视图完成用户的请求。

M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。
V全拼为View,用于封装结果,生成页面展示的html内容。
C全拼为Controller,用于接收请求,处理业务逻辑,与Model和View交互,返回结果。


  • Django的MTV模式

本质上与MVC模式没有什么差别,也是各组件之间为了保持松耦合关系,只是定义上有些许不同,Django的MTV分别代表:
1.Model(模型):负责业务对象与数据库的对象(ORM)
2.Template(模版):负责如何把页面展示给用户
3.View(视图):负责业务逻辑,并在适当的时候调用Model和Template
4.此外,Django还有一个url分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template

M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。
注:差异就在于黑线黑箭头标识出来的部分


  • ORM 框架简介

参考 https://www.cnblogs.com/wisdo/p/4279091.html·

对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的。
面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。
对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存>在,主要实现程序对象到关系数据库数据的映射。

ORM方法论基于三个核心原则:

简单性:以最基本的形式建模数据。
传达性:数据库结构被任何人都能理解的语言文档化。
精确性:基于数据模型创建正确标准化了的结构。

一般的ORM包括以下四部分:  

一个对持久类对象进行CRUD操作的API;  
一个语言或API用来规定与类和类属性相关的查询;  
一个规定mapping metadata的工具;  
一种技术可以让ORM的实现同事务对象一起进行dirty checking, lazy association fetching以及其他的优化操作。


原文地址:https://www.cnblogs.com/damahuhu/p/12486947.html