简评:现在都开始版本大跃进了吗?对,别看别人,说的就是你 pipenv(名单太长,待补齐...)
Flask 其实早就已经十分稳定了,而在第一个 commit 大概 8 年之后,版本号才最终反映出了这一点。1.0 有大量的变化,这也代表了一年多的工作。
- 不再支持 Python 2.6 和 3.3。
- CLI 更灵活,FLASK_APP可以指向一个应用程序工厂,它可以在更多情况(使用过的文件名)下理解导入名称,它会自动检测常见的文件名,应用名称和工厂名称。FLASK_ENV描述应用运行的环境(比如development环境),并在大多数情况下替换FLASK_DEBUG,查看文档以了解更多信息。
- 如果安装了python-dotenv,flaskCLI 将从文件.flaskenv和.env中加载环境变量,而不必在每个新终端中导出它们。
- 开发服务器默认使用多线程处理并发请求。
- 完全删之前弃用的flask.ext,按其实际包名称导入扩展。
- 调试模式下,缺少的密钥时会从request.form显示更有用的错误消息,这解决了开发人员常见的困惑。
- 改进了错误处理机制。
- 极大简化app.logger的行为,使得更容易自定义。logger 总是命名为flask.app,如果没有被注册的话,它只添加一个处理器,并且永远不会删除现有的处理器。查看文档以了解更多信息。
- test_client增加json参数用于 post JSON 数据,并且Response对象新增get_json方法来在测试时以 JSON 格式解码数据。
- 新增test_cli_runner来测试应用的 CLI 命令。
- 重写文档的许多部分,以提高清晰度和相关性,这是一项持续的工作。
- 重写教程和相应的示例,使用结构化布局并详细解释每个方面,以帮助新用户避免常见问题并适应 Flask。
整个框架中还有很多其他更改,可以阅读完整的更新日志了解升级时可能会对代码造成的影响。
JSON 安全修复
Flask 先前使用请求的内容类型(content type )解码传入的 JSON 字节。尽管 JSON 只能编码为 UTF-8,但 Flask 更加宽松。然而,Python 包含的非文本相关的编码,可能会导致请求意外使用内存。
Flask 现在将检测传入的 JSON 数据的编码是否为受支持的 UTF 编码之一,并且不再允许来自请求的任意编码。
安装或升级
使用 pip 从 PyPI 安装:
$ pip install -U Flask
原文:Flask 1.0 Released
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。