Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。
Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。
WSGI:
PythonWeb服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是Python应用程序或框架和Web服务器之间的一种接口,已经被广泛接受, 它已基本达成它的可移植性方面的目标。
WSGI 没有官方的实现, 因为WSGI更像一个协议. 只要遵照这些协议,WSGI应用(Application)都可以在任何服务器(Server)上运行, 反之亦然。
Werkzeug
Werkzeug是Python的WSGI规范的实用函数库。使用广泛,基于BSD协议.。
Werkzeug就Flask使用的底层WSGI库
功能特性
-
HTTP头解析与封装
-
易于使用的request和response对象
-
基于浏览器的交互式JavaScript调试器
-
与 WSGI 1.0 规范100%兼容
-
支持Python 2.6,Python 2.7和Python3.3
-
支持Unicode
-
支持基本的会话管理及签名Cookie
-
支持URI和IRI的Unicode使用工具
-
内置支持兼容各种浏览器和WSGI服务器的实用工具
-
集成URL请求路由系统
-
Flask特点:
-
自带开发应用服务器和debugger
-
RESTful request dispatching
-
使用Jinja2
-
支持 secure cookies (client side sessions)
-
100% WSGI 1.0 兼容
-
可用 Extensions 增加其他功能