Flask – Extensions
Flask通常被称为微型框架,因为其核心功能包括基于 Werkzeug 的WSGI和路由,以及基于 Jinja 的模板引擎2 此外,Flask框架还支持cookie和session,以及像 JSON 、静态文件等网络助手。显然,这对于开发一个成熟的Web应用来说是不够的。这就是Flask扩展出现的原因。Flask扩展为Flask框架提供了可扩展性。
有大量的Flask扩展可用。Flask扩展是一个Python模块,它为Flask应用程序添加了特定类型的支持。Flask扩展注册表是一个可用扩展的目录。所需的扩展可以通过 pip 工具下载。
在本教程中,我们将讨论以下重要的Flask扩展 —
- Flask Mail – 为Flask应用程序提供SMTP接口
-
Flask WTF – 增加了WTForms的渲染和验证功能
-
Flask SQLAlchemy – 为Flask应用程序添加SQLAlchemy支持
-
Flask Sijax – Sijax的接口 – Python/jQuery库,使AJAX易于在Web应用程序中使用
每种类型的扩展通常都提供了关于其用法的大量文档。由于扩展是一个Python模块,所以需要导入它才能使用。Flask扩展通常被命名为flask-foo。要导入、
from flask_foo import [class, function]
对于0.7之后的Flask版本,你也可以使用语法–
from flask.ext import foo
对于这种用法,需要激活一个兼容模块。它可以通过运行flaskext_compat.py来安装。
import flaskext_compat
flaskext_compat.activate()
from flask.ext import foo