Flask 是一个用 Python 编写的轻量级 Web 应用程序框架。Flask 是由一个名字叫作 Armin Ronacher(他也是 Werkzeug 及 Jinja2 的作者)的开发者编写的,他本来只是作者的一个愚人节玩笑,不过后来大受欢迎,进而成为一个正式的项目。
Flask 基于 Werkzeug WSGI 工具包和 Jinja2 模板引擎。这两个都是 Pocco 的项目。
为什么说 Flask 是轻量级框架
之所以说 Flask 是轻量级框架,因为它仅仅实现了 Web 应用的核心功能:Flask 由两个主要依赖组成(提供路由、调试和 Web 服务器网关接口的 Werkzeug 和提供模板的 Jinja2)。其他的一切(比如数据库集成,表单处理,文件上传,用户认证)都由第三方库来完成,如果插件满足不了你的需求,你也可以自行开发。
Flask 特点
- 轻巧、简洁;
- 自由、灵活,可扩展性强,第三方库的选择面广;
- 自带开发应用服务器和 debugger;
- 良好的文档;
- 使用 Jinja2 模板引擎。
WSGI
WSGI中文称呼为Web服务器网关接口(英文全称Web Server Gateway Interface),它是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口;它已被采纳为Python Web应用程序开发的标准。
Werkzeug
它是一个WSGI工具包,它实现了请求、响应对象和其他实用程序功能。这可以在其上构建Web框架。Flask框架使用Werkzeug作为其一个基础模块之一。
Jinja2
Jinja2是Python的流行模板引擎。网页模板系统将模板与特定的数据源结合起来呈现动态网页。