Flask2.0 版本终于快要发布了,现在 PyPI 上已经有一个2.0.0rc1
的候选版本。可以直接用下面的命令来获取:
pip install --pre flask
Flask 的这个版本还会随着 Werkzeug、Jinja2、click 和 itdangerous 的主要版本一起安装。
下面是 Flask 新版本的一些 changelog:
- 支持 Python 3.6 (放弃 Python 2 和 3.5 支持)
- JSON 支持不再使用 simplejson,要使用另外一个 JSON 模块,覆盖
app.json_encoder
和json_decoder
-issue:3555
- 将 script_info 传递个 app 工厂函数被废弃
- 在查找命令时,当应用程序加载失败时,CLI 会显示更好的错误信息 -
issue:2741
- 增加 :meth:
sessions.SessionInterface.get_cookie_name
,允许动态设置会话 cookie 名称 -pr:3369
- 增加 :meth:
Config.from_file
来使用任意的文件加载器,如toml.load
或json.load
来加载 config - 用
FLASK_APP
指定工厂函数时,可以传递 keyword 参数 -issue:3553
。 - 当加载
.env
或.flaskenv
文件时,当前工作目录不再改为文件的位置 -pr:3560
。 helpers.safe_join
已经过时,请使用werkzeug.utils.safe_join
代替 -pr:3828
。- 请求上下文在打开会话之前会进行路由匹配,这可能允许会话接口根据
request.endpoint
改变行为。 - 使用
Jinja
实现的|tojson
过滤器 -issue:3881
。 - 支持异步视图(可选择安装
flask[async]
),允许使用 async 路由处理程序、错误处理程序、请求前/请求后 - 为常见的 HTTP 方法添加路由装饰符,如
@app.get
、@app.post
等 - 支持嵌套蓝图,
blueprint.register_blueprint
(another_blueprint) helpers.total_seconds()
已经过时,请使用timedelta.total_seconds()
代替 -pr:3962
。
关于 Flask2.0 版本详细的 changelog 请移步 https://github.com/pallets/flask/blob/master/CHANGES.rst 查看