前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flask 1.0发布

Flask 1.0发布

作者头像
IT派
发布2018-07-30 14:54:52
4240
发布2018-07-30 14:54:52
举报
文章被收录于专栏:IT派IT派

很高兴Pallets团队今天发布了Flask 1.0。

Flask框架已经稳定存在了很长时间了,从第一次提交至今已经有8年时间了。经过多年的逐步增长,版本号今天终于累积到了1.0。这是一个特殊的版本号,随之而来的还有我们对框架的诸多改进,这是我们过去一年辛苦工作的成果:

  • 停止支持Python2.6和Python3.3。
  • CLI更加灵活。FlASK_APP可以指向一个应用工厂,这个指向可以带参数。如果模块的文件名之前使用过,它能识别出更多种书写方式的模块路径。它也会自动监测常用的文件名、应用名、和工厂名称。FLASK_ENV描述应用运行的环境,像development这样。在大多数场景下它会替代FLASK_DEBUG。
  • 如果安装了python-dotenv,那么flask CLI就会从.flaskenv和.env文件加载环境变量,而不用每次都在终端中使用export命令设置。
  • 开发服务器改为默认使用多线程处理请求。
  • flask.ext被移除掉了。以后需要使用实际的包名导入扩展。
  • 访问request.form中不存在的键,在测试环境下会得到一个更有意义的报错,这会减少开发者很多的困惑。
  • 错误处理函数会先从代码中寻找,然后才是异常类处理。先在全局位置查找,然后才在应用内查找。这样开发者可以更好地配置错误处理函数,并且能够更好地处理HTTPException。
  • 简化了app.logger的行为,让配置更容易。logger总是命名为flask.app,只有在没配置logger的情况下,Flask才会自动配置一个logger,而且Flask永远不会移除已经配置好的logger。
  • test_client增加了一个参数json,以便于传入json数据。Response对象增加了一个get_json方法,用来在测试中以JSON格式解码数据。
  • 增加了一个test_cli_runner,用来测试应用的CLI功能。
  • 文档做了大量的改进,改善可读性,使文档更易于理解。这个努力还会继续。
  • 入门教程和例子也重写了。重写后采用了一种结构化的格式,以便新手能够更好地避免常见错误,更容易上手。

整个框架还有大量的改进,阅读完整的change log,以便确定自己升级时哪些代码需要改动。

JSON安全性修正

Flask之前使用request中声明的编码来解码JSON内容。虽然从标准上说,JSON应该必须使用UTF-8,但是Flask的实现更加宽容。然而,Python中有一些非文字编码会导致异常的内容使用。

Flask这个版本开始会探测请求数据的编码格式,并以UTF的某个编码格式进行解码。不再允许任意声明的编码格式。

安装或升级

使用pip从PyPI安装:

pip install -U Flask

译者:诗书塞外 英文原文:https://www.palletsprojects.com/blog/flask-1-0-released/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT派 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档