开发者学堂课程【Python Web 框架 Flask 快速入门: Flask 简介】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/603/detail/8780
Flask 简介
内容简介
一、Flask 简介
二、Flask 与 Django 对比
三、框架之间的差别
四、总结
一、Flask 简介
Flask 诞生于2010年,是用 Python 语言基于 Werkzeug 工具向编写的轻量级Web 开发框架。
Flask 本身有两个最核心的部分:Werkzeug(路由模块)、jinja2(模板引擎)。当想用其他功能的时候都需要以来扩展,比如发邮件需要 Flask-Mail,做用户认证需要 Flask-Login,都需要用第三方的扩展来实现。
Python 最出名的框架要数 Django ,此外还有 Flask 、Tornado 等框架。虽然Flask 不是最出名的框架,但是 Flask 应该算是最灵活的框架之一,这也是 Flask受到广大开发者喜爱的原因。
目前趋势是 Django 以外就是 Flask 了,而现在越来越多人都在使用 Flask 进行开发。
Flask 功能少但并不代表功能弱,只需要把扩展集成起来就可以。而 Django 等其他的一些只是默认代理一些扩展,本身内嵌。Flask虽然没有,但是只需要把别的扩展引入就可以。
Flask 常用扩展包:
Flask-SQLalchemy :操作数据库;
Flask-migrate :管理迁移数据库;
Flask-Mail :邮件;
Flask-WTF :表单;
Flask-Bable :提供国际化和本地化支持,翻译;
Flask-script :插入脚本;
Flask-Login :认证用户状态;
Flask-OpenID :认证;
Flask-RESTful :开发 REST API 的工具;
Flask-Bootstrap :集成前端 Twitter Bootstrap 框架;
Flask-Moment: 本地化日期和时间;
Flask-Admin: 简单而可扩展的管理接口的框架
其他的扩展可以自主学习:
扩展列表: http://flask.pocoo.org/extensions/
此外,在学习 Flask 中也会希望看文档,所以下面有两个文档:
1.中文文档(http://docs.jinkan.org/docs/flask/)
2.英文文档(http://flask.pocoo.org/docs/0.12/)
注意,这里中文文档版本是0.10.1的版本,稍微落后一些。但在工作当中用的最多的版本也正是这一个,因为这个版本有中文翻译,所以对目前学习阶段具有参考作用。
而英文版本这里是最新的版本(0.12),里面就没有中文翻译了。
二、Flask 与 Django 对比
如果以房子来举例:
Django 这个框架就相当于精装修的房子,里边东西非常多,而Flask就相当于简装房,东西很少。因为 Flask 只有 Werkzeug(路由模块)、jinja2(模板引擎)。但他可以利用其它扩展来丰富。
三、框架之间的差别
Django 功能大而全,Flask 只包含基本的配置
Django 的一站式解决的思路,能让开发者不用在开发之前就在选择应用的基础设施上花费大量时间。Django 有模板,表单,路由,认证,基本的数据库管理等等内建功能。与之相反,Flask 只是一个内核,默认依赖于两个外部库: Jinja2 模板引擎和 Werkzeug wSGl 工具集,其他很多功能都是以扩展的形式进行嵌入使用。
Flaskt 比 Django 更灵活
Flask 在 Django 之后发布,现阶段有大量的插件和扩展满足不同需要 Django发布于2005年, Flask 创始于2010年年中。
四、总结
Flask 是一个轻量级 Web 开发框架,用的时候需要引用其他扩展。