MVC

  • 大部分开发语言中都有MVC框架
  • MVC框架的核心思想是:解耦
  • 降低各功能模块之间的耦合性,方便变更,更容易重构代码,最大程度上实现代码的重用
  • m表示model,主要用于对数据库层的封装
  • v表示view,用于向用户展示结果
  • c表示controller,是核心,用于处理请求、获取数据、返回结果

高可扩展性
向后兼容 : 后面的版本都可以兼容
低耦合 :模块与模块之间不要有太强的依耐性
高内聚 : 指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。

项目的入口:manage.py 项目的配置:test1
项目的开发:自定义应用

MVC原理图如下:

gin框架 MVC架构 mvc框架详解_MVC

MVT

  • Django是一款python的web开发框架
  • 与MVC有所不同,属于MVT框架
  • m表示model,负责与数据库交互
  • v 表示view,是核心,负责接收请求、获取数据、返回结果
  • t 表示template,负责呈现内容到浏览器

MVT原理图如下:

gin框架 MVC架构 mvc框架详解_关系数据库_02

a,步骤1客户端请求信息交给视图函数处理

b,步骤2需要数据的时候调用模型Model,通过步骤3去数据库拿数据,然后通过步骤4返回给模型Model,再通过步骤5返回给视图

注:模型Model中不编写任何sql语句。

在关系数据库中的一行,相当于模型Model中的一个对象。

在关系数据库中的一个表,相当于一个对象的集合。在python中用列表定义关系数据库中的一个表,我们直接在对象中写列表的操作就可以了,ORM会转换成sql语句。之后我们得到一个列表对象返回给视图View

c, 视图View会进行一些处理,比如登陆:需要在数据库中查询密码,查完之后返还给视图做判断处理,处理的结果需要用模板Templates呈现(渲染HTML和CSS执行JS),然后返回客户端。

注意:处理客户端与服务器之间http请求响应需要实现wsgi协议.
wsgi是:PythonWeb服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是Python应用程序或框架和Web服务器之间的一种接口,已经被广泛接受, 它已基本达成它的可移植性方面的目标。