Django简介

1. web框架介绍

具体介绍Django之前,必须先介绍Web框架的概念。

Web框架: 别人已经设定好的一个Web网站模板,你学习它的规则,然后“填空”或“修改”成你自己需要的样子。

一般Web框架的架构是这样的:

Django简介

 其它基于Python的Web框架,如Tornado、Flask、Webpy都是在这个范围内进行增删裁剪的。

例如Tornado用的是自己的异步非阻塞通信协议,Flask则只提供了最精简和基本的框架,Django直接使用WSGI通信协议,并实现了大部分Web应用相关的功能。

2. MVC/MTV介绍

MVC:

百度百科:全名Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件工程典范,用业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

通俗解释:一种代码和文件的组织和管理形式!不要被缩写吓到了,这其实就是把代码分散到不同的文件中,把不同类型的文件又放到不同目录下的一种做法,然后取了个高大上的名字。当然,它带来的好处有很多,比如前后端分离,松耦合等等,在使用中你慢慢体会就会逐渐明白它。

其中:

  • 模型(model):定义数据库相关的内容,一般放在models.py文件中。

  • 视图(view):定义HTML等静态网页文件相关,也就是那些HTML、CSS、JS等前端的东西。

  • 控制器(controller):定义业务逻辑相关,就是你的主要代码。  

MTV:

Django觉得MVC的字面意思很别扭,不太符合它的理念,就给它改了一下。view不再是HTML相关,而是主业务逻辑V了,相当于控制器。HTML被放在Templates中,称作模板T,于是MVC就变成了MTV。这其实就是一个文字游戏,和MVC本质上是一样的,换了个名字和叫法而已,换汤不换药。

3. Django的MTV模型组织

目录分开,就必须有机制将他们在内里进行耦合。在Django中,典型的业务流程如下图所示:

Django简介

 

上一篇:看完给跪了:技术大牛总结的Github与华为软件开发云完整对比


下一篇:Fiddler基础用法-抓取浏览器数据包