一 、什么是Flask
Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,
其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,如果要返回给用户复杂的内容时,需要借助jinja2模板来实现对模板的处理,即:将模板和数据进行渲染,将渲染后的字符串返回给用户浏览器
与Django web框架对比
Django:
- 优点: 大而全,里面组件非常的多
- 缺点: 资源浪费严重,笨重
Flask:
- 优点:
短小精悍
官方承认支持第三方组件
低耦合,Flask可以兼容多种数据库、模板 - 缺点:
相较于Django起步晚,但是社区内容也是很丰富的
Tornado:
Tornado是一种 Web 服务器软件的开源版本。Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。
得利于其 非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,因此 Tornado 是实时 Web 服务的一个 理想框架。
二、 Werkzeug WSGI
web服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。自从WSGI被开发出来以后,许多其它语言中也出现了类似接口
三、jinja2
Jinja是一种适用于Python的现代且易于设计的模板语言,以Django的模板为模型。 借助可选的沙盒模板执行环境,它可以快速,广泛地使用并且安全。
下面是一小段jinja2模块语言示例:<p>this is a dicectory:{ { mydict['key'] } } </p>
四、快速上手flask
1 | from flask import Flask, make_response, jsonify |