Flask 发布 1.0 稳定版

简评:现在都开始版本大跃进了吗?对,别看别人,说的就是你 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

    原文作者:极光推送
    原文地址: https://segmentfault.com/a/1190000014984957
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞