BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Pocoo发布Flask 0.10 和Werkzeug新版本

| 作者 水羽哲 关注 0 他的粉丝 发布于 2013年6月16日. 估计阅读时间: 3 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

在经过了漫长的沉寂之后,Pocoo团队于6月13日发布了Flask和Werkzeug的最新版本,这次更新最大的变化是提供Python 3(3.3以及更高版本)的支持。

由于Werkzeug之前版本的实现没有满足PEP 3333的文档描述,所以他们不得不打破部分向后兼容的特性。Armin提醒开发者,如果项目代码中使用了werkzeug.urls模块、Headers和EnvironHeaders数据结构,需要在更新之前及时作出修复。

这次升级值得注意的变化是:

Werkzeug:

  1. HTTP异常类有了小的调整,可以携带有效载荷并在流中挂起异常,增加了可用性;
  2. URL模块增加了一系列对于IRI的支持;
  3. 增加了一系列方法桥接PEP 333与PEP 3333、Python 2.x和3.x下WSGI的差异;
  4. 内部表单解析升级,可以在任何情况下获取流数据;
  5. 引入get_data方法为今后替换requests和response中的.data描述符做准备。

Flask:

  1. 增加了json模块以统一Python 2.x和3.x的环境下JSON的支持,并且提供了一系列扩展;
  2. 可以仅在application context中渲染模版,flask.g也绑定到application context中;这些变化虽然微小,但是可以简化Web环境外与Flask的交互,例如可以更加简单的维护没有绑定到HTTP请求生命周期上的数据库链接。
  3. Flask的内部错误处理得到改进;
  4. 在请求中引入get_json函数适配Werkzeug的get_data函数;
  5. 为JSON的序列化增加配置项;

对于这次更新,YCombinator上围绕“Flask的可用性”、“代码质量”和“现有代码向Python 3迁移”等进行了讨论

Flask的代码质量:

bjourne:Flask是用Python写的最漂亮的代码。查看一下别的Python框架,它们也许有几十个API,但是内部实现是一团乱麻。读Flask的代码是一种享受。……任何想提高自己技艺的Python程序员都需要学习Flask。

Flask的可用性:

Timothee:Twillio使用它支撑他们的API,Flask-RESTful就是他们为了满足这个需求而开发的。

dkh:Disqus在使用它;

代码迁移:

有人问道:我们想把PHP的网店转移到Python上,既然现在Flask支持3.x了,现在是否可以立即迁移到3.x的环境? 对此,corford回答道:“ 问题的关键在于Flask的扩展和文档,而不是Flask本身。如果你的应用大部分代码都是自己写的,那么迁移到Python 3是没有问题的,但是如果你大量使用了别人的扩展,就需要等到他们移植到3.x环境。”

Armin表示,以后将会更加频繁的更新,而不是像这次这样好久才推出一个新的版本。如果要升级Flask框架,可以参考升级文档,对于Python 3.x下项目的迁移,还需要阅读这个文档

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT