1. 初识
1.1 概览
Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。
Flask是一个使用 Python编写的轻量级 Web 应用框架。其 WSGI工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。
Flask被称为微框架(microframework), 微框架中的“微”字表示 Flask 的目标是保持核心简单而又可扩展。主要特征是核心构成比较简单,主要有Werkzeug和Jinja2两个核心,一些常用的web开发功能,如数据库、表单验证等都没有提供。但是Flask有很强的扩展性和兼容性,可以根据自己的需求选择合适和组件进行集成,扩展功能,非常灵活。同时Flask丰富的第三方组件(邮件扩展Flask-Mail,用户认证Flask-Login, 数据库Flask-SQLAlchemy等)能够满足所有的web开发需求。
Django是一个大而全开箱即用的框架,特点就是功能非常齐全,但是非常大。提供一个极小但灵活的微框架,需要什么自己加。
1.2 特点
Flask的核心思想就是,只提供一个极小内核,其他需要什么自己扩展。
- 轻巧简洁
- 灵活、扩展性强
- 学习简单、开发速度快
1.3 安装
安装 Flask 前请先保证有python的开发环境,最好使用虚拟环境,可以使用虚拟环境管理工具conda。
当安装 Flask 时,以下配套软件会被自动安装。
- Werkzeug 用于实现 WSGI ,应用和服务之间的标准 Python 接口。
- Jinja用于渲染页面的模板语言。
- MarkupSafe 与 Jinja 共用,在渲染页面时用于避免不可信的输入,防止注入攻击。
- ItsDangerous保证数据完整性的安全标志数据,用于保护 Flask 的 session cookie.
- Click是一个命令行应用的框架。用于提供
flask
命令,并允许添加自定义 管理命令。
安装命令:
pip install Flask
1.4 最小Flask应用
一个最小的 Flask 应用如下:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
上面代码是什么意思呢?
- 首先导入了
Flask
类。该类的实例将会成为我们的 WSGI 应用。 - 接着我们创建一个该类的实例。第一个参数是应用模块或者包的名称。
__name__
是一个适用于大多数情况的快捷方式。有了这个参数, Flask 才能知道在哪里可以找到模板和静态文件等东西。 - 然后我们使用
route()
装饰器来告诉 Flask 触发函数 的 URL 。 - 函数返回需要在用户浏览器中显示的信息。默认的内容类型是 HTML ,因此字 符串中的 HTML 会被浏览器渲染。
可以使用 flask 命令或者 python 的 -m
开关来运行这个应用。
启动后,在浏览器中打开 http://127.0.0.1:5000/ ,应该可以看到 Hello World! 字样。