阅读(1921) (18)

Flask 扩展

2016-12-26 16:56:17 更新

Flask通常被称为微框架,因为核心功能包括基于Werkzeug的WSGI和路由以及基于Jinja2的模板引擎。

此外,Flask框架还支持cookie和会话,以及JSON,静态文件等Web帮助程序。

显然,这不足以开发完整的Web应用程序。

Flask扩展就具备这样的功能Flask扩展为Flask框架提供了可扩展性。

有大量的Flask扩展可用

Flask扩展是一个Python模块,它向Flask应用程序添加了特定类型的支持。

Flask Extension Registry(Flask扩展注册表)是一个可用的扩展目录。

可以通过pip实用程序下载所需的扩展名。

Flask常用扩展包:

Flask-SQLalchemy:操作数据库;

Flask-script:插入脚本;

Flask-migrate:管理迁移数据库;

Flask-Session:Session存储方式指定;

Flask-WTF:表单;

Flask-Mail:邮件;

Flask-Bable:提供国际化和本地化支持,翻译;

Flask-Login:认证用户状态;

Flask-OpenID:认证;

Flask-RESTful:开发REST API的工具;

Flask-Bootstrap:集成前端Twitter Bootstrap框架;

Flask-Moment:本地化日期和时间;

Flask-Admin:简单而可扩展的管理接口的框架


每种类型的扩展通常提供有关其用法的大量文档。

由于扩展是一个Python模块,因此需要导入它才能使用它。

Flask 的扩展通常命名为“ Flask-Foo ”或者“ Foo-Flask ” 。可以在 PyPI 搜索 标记为 Framework :: Flask 扩展包。

使用扩展

请参阅每个扩展的文档以了解其安装、配置和使用说明。

一般来说,扩展从 app.config 获取其自身的配置并在初始化时传递给 应用实例。

例如,一个名为“ Flask-Foo ”的扩展使用如下:

from flask_foo import Foo

foo = Foo()

app = Flask(__name__)
app.config.update(
    FOO_BAR='baz',
    FOO_SPAM='eggs',
)

foo.init_app(app)