MVC
- 大部分开发语言中都有MVC框架
- MVC框架的核心思想是:解耦
- 降低各功能模块之间的耦合性,方便变更,更容易重构代码,最大程度上实现代码的重用
- m表示model,主要用于对数据库层的封装
- v表示view,用于向用户展示结果
- c表示controller,是核心,用于处理请求、获取数据、返回结果
高可扩展性
向后兼容 : 后面的版本都可以兼容
低耦合 :模块与模块之间不要有太强的依耐性
高内聚 : 指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。
项目的入口:manage.py
项目的配置:test1
项目的开发:自定义应用
MVC原理图如下:
MVT
- Django是一款python的web开发框架
- 与MVC有所不同,属于MVT框架
- m表示model,负责与数据库交互
- v 表示view,是核心,负责接收请求、获取数据、返回结果
- t 表示template,负责呈现内容到浏览器
MVT原理图如下:
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服务器之间的一种接口,已经被广泛接受, 它已基本达成它的可移植性方面的目标。