码迷,mamicode.com
首页 > 其他好文 > 详细

Django简介

时间:2019-06-28 09:14:14      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:mvc   流程   非阻塞   temp   不同的   基于   数据   业务逻辑   不同   

一、 前言

二、一般Web框架架构

三、MVC与MTV模型

四、Django的特点

五、Django的下载与安装

 

一、 前言

  Django是一种基于Python的Web开发框架。借助Django,Python的程序开发人员只需要编写很少的代码,就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的Web服务。

  那么什么是Web开发?这个我们在前文中已经介绍了,Web开发指的是开发基于B/S架构,通过前后端的配合,将后台服务器的数据在浏览器上展现给前台用户的应用。比如将电子购物网站的商品数据在浏览器上展示给客户,在基于浏览器的学校系统管理平台上管理学生的数据等等。本文我们就开始浅浅地打开通向Django的大门,一起去了解和学习它。

 

二、 一般Web框架架构

技术图片

  如上图所示,大多数基于Python的web框架,如Django、tornado、flask、webpy都是在这个范围内进行增删裁剪的。例如Tornado用的是自己的异步非阻塞“WSGI”网关接口,Flask则只提供了最精简和基本的框架,Django则是直接使用了现成的WSGI,并实现了大部分功能,提供了大量的应用工具。

 

三、MTV与MVC模型

  1. MVC模型

  最早由Trygve Teenskaug在1978年提出,上世纪80年代是程序语言Smalltalk的一种内部架构。后来MVC被其他领域借鉴,成为了软件工程中的一种软件架构模式。MVC把Web框架分为3个基础部分:

  模型(Model)用于封装与应用程序的业务逻辑相关的数据及对数据的处理方法,是Web应用程序中用于处理应用程序的数据逻辑的部分,Model只提供功能性的接口,通过这些接口可以获取Model的所有功能。简单说,这个模块就是Web框架和数据库的交互层。

  视图(View)负责数据的显示和呈现,是对用户的直接输出。

  控制器(Controller)接受用户的输入调用模型和视图完成用户的请求。

  这三个部分互相独立,但又相互联系,使得改进和升级界面及用户交互流程,在Web开发过程任务分配时,不需要重写业务逻辑及数据访问代码。

  三个部分的关系示意图如下:

技术图片

  2. MTV模型

  Django对传统的MVC设计模式进行了修改,将视图分成View模块和Template模块两部分,将动态的逻辑处理与静态的页面展现分离开。而Model采用了ORM技术,将关系型数据库表抽象成面向对象的Python类,将表操作转换成类操作,避免了复杂的SQL语句编写。MTV和MVC本质上是一样的。

  M 代表模型(Model) 负责业务对象和数据库的关系映射(ORM)。

  T 代表模板 (Template)负责如何把页面展示给用户(html)。

  V 代表视图(View) 负责业务逻辑,并在适当时候调用Model和Template。

  除了以上三层之外,还需要一个URL分发器,它的作用是将一个个URL的页面请求分发给不同的View处理,View再调用相应的Model和Template,MTV的响应模式如下所示:

技术图片

未完,待续...

Django简介

标签:mvc   流程   非阻塞   temp   不同的   基于   数据   业务逻辑   不同   

原文地址:https://www.cnblogs.com/schut/p/11100557.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!