什么是Flask框架
Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它是由Armin Ronacher开发的,本来这个项目只是作者在愚人节的一个玩笑,后来由于非常受欢迎,进而成为一个正式的项目。
Flask是目前十分流行的web框架,Flask也被称为microframework,即微框架。这里的”微“并不是意味着把整个Web应用放入到一个Python文件,也不意味着 Flask 在功能上有所欠缺。微框架中的“微”意味着 Flask 旨在保持核心简单而易于扩展。Flask 不会替你做出太多决策,比如指定数据库和模板引擎等对象,用户可以根据需要自己选择各种数据库。
默认情况下,Flask自身不会提供表单验证功能,在项目实施过程中可以自由配置,从而为应用程序开发提供数据库抽象层基础组件,支持进行表单数据合法性验证、文件上传处理、用户身份认证和数据库集成等功能。
Flask主要包括Werkzeug和Jinja2两个核心函数库,它们分别负责业务处理和安全方面的功能,这些基础函数为web项目开发过程提供了丰富的基础组件。
Flask的优势
- Flask是一个微框架,使用简洁、灵活度高、扩展性强。它不会帮你做太多的决策,即使帮你做出选择,你也非常容易更换成你需要的。
- 拥有基于Werkzeug、Jinja2等一些开源库,拥有内置服务器和单元测试,适配RESTful,支持安全的cookies,而且官方文档完整,便于学习掌握。
- Flask中拥有灵活的Jinja2模板引擎,提高了前端代码的复用率。这样可以提高开发效率和有利于后期开发与维护。
Flask常用扩展包
Flask-SQLalchemy:操作数据库。
Flask-script:插入脚本。
Flask-migrate:管理迁移数据库。
Flask-Session:Session存储方式指定。
Flask-WTF:表单。
Flask-Mail:邮件。
Flask-Bable:提供国际化和本地化支持,翻译。
Flask-Login:认证用户状态。
Flask-OpenID:认证。
Flask-Bootstrap:集成前端Twitter Bootstrap框架。
Flask-Moment:本地化日期和时间。
Flask-Admin:简单而可扩展的管理接口的框架。