web框架介绍
什么是web框架
应该叫web应用框架(web application framework),它是一种开发框架。 通俗点来讲,就是用来开发web应用的程序。
为什么要使用框架来开发
互联网行业流行一句话叫“不要重复造轮子”,特别是对于新手和应用层开发人员。对于web开发来说,要提高开发效率,我们需要站在前人的肩膀上,利用成熟的web框架,把精力放在业务逻辑的实现上,不关心底层建设。
开发一个软件项目好比盖房子:
方案一、
- 购买砖块、木头、水泥、钢筋
- 打地基
- 盖房子
- 装修
- 购置家具
方案二、
- 找开发商买毛坯房
- 装修
- 购置家具
方案三、
- 找开发商购买精装修房子
- 购置家具
很显然如果所有的工作都从头做起的方案一的效率最低,而站在前人的肩膀上的方案四是效率最高的。从方案二开始就好比是封装了底层建设的框架,不同的框架的封装程度不同,自由度和开发效率各不同。
本质上来讲就是一个字快。
如何选择框架
如何选择框架呢?
选择web框架好比买房子选择有实力的开发商。python目前最流行三大框架是Django,Flask,Tornado
。
- Django
- 大而全
- 入门简单
- 开发效率极高
- 最流行
- 类似于方案四(精装修的房子)
- Flask
- 轻量级
- 自由度高
- 流行
- 有一定难度
- 类似于方案三(毛坯房)
- Tornado
- 轻量级
- 自由度高
- 异步
- 难度较大
- 应用在高并发的场景
所以选择web框架要根据项目的需求,规模,和时间,然后再结合各个框架的特点进行选择。我们接下来要开发的接口自动化平台是一个企业内部平台,用户量有限,需求变动大,开发周期要短,所以选择Django是最佳选择。
django是什么
Django是一个高级的Python Web框架,它的宗旨是:Django makes it easier to build better Web apps more quickly and with less code.
使用Django,你可以在几个小时内将web应用从概念到启动。
Django解决了很多web开发的麻烦,所以你可以专注于编写你的应用,而不需要重新发明轮子。
它是免费和开源的。
- 开发效率极高
- 功能全面开箱即用
- 安全放心
- 社区活跃,插件丰富
web框架设计模式
认识web框架的设计模式对学习web框架非常重要。本章只是介绍web框架常见的设计模式,不会深入讨论如何设计web框架。
最常见的web框架设计模式有两种:
- MVC
- MTV
MVC
经典的MVC模式中:
- M(model) 业务模型,代表一个存储数据的对象
- V(view) 用户界面,代表模型数据的可视化
- C(controller) 控制器,作用于模型和视图上。它控制数据流向,并在数据变化时更新视图。它使视图与模式解耦。
MTV
django的设计模式称为MTV
,本质上跟MVC
一样,只是叫法不同。
- M全拼为Model,模型,与MVC中的M功能相同,负责和数据库交互,进行数据处理
- V全拼为View,视图,与MVC中的C功能相同,接收请求,进行业务处理,返回响应
- T全拼为Template, 模板,与MVC中的V功能相同,负责构造要返回的html页面
MTV框架图如下:
django中数据流和请求流程如下:
- 用户通过浏览器发起请求
- view根据请求和业务逻辑向model获取或者发送数据
- model根据视图的要求和数据库进行交互
- view收到model返回的结果后将结果发送给template
- template将收到的数据渲染成最终的html返回给view
- view将最终包含结果数据的html返回给用户