写点什么

Pocoo 发布 Flask 0.10 和 Werkzeug 新版本

  • 2013-06-15
  • 本文字数:1030 字

    阅读完需:约 3 分钟

在经过了漫长的沉寂之后, 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 下项目的迁移,还需要阅读这个文档

2013-06-15 04:023303
用户头像

发布了 89 篇内容, 共 33.7 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

亚马逊云科技与TalkingData携手助力美妆巨头数字化营销闭环安全合规地提效

Lily

Selenium 中的 JUnit 注解

FunTester

Spring Security系列教程17--注销登录的实现及原理分析

一一哥

spring security spring-boot 注销登录

源码解析 kubectl port-forward 工作原理

张晓辉

Kubernetes 云原生 源码解析

混迹职场10多年的数据开发老鸟,居然被一个职场新人上了一课

雨果

数据工程师

极简云上分析,释放数据价值|Kyligence 邀您参加2022秋季线上论坛

Kyligence

数据分析 数据价值 数据管理 智能多维数据库

【CSS关键字】:inherit、initial、unset分别有哪些作用?

翼同学

CSS html 前端 8月月更 学习分享

数字藏品app开发:数字藏品发行制作的关键

开源直播系统源码

NFT 数字藏品 数字藏品开发 数字藏品系统 数字藏品软件

直播预告丨阿里云佐井:关注预警6要素,帮助用户实现精准监控和告警

阿里云弹性计算

监控 预警

超大规模跨域集群统一监控实践

移动云大数据

在window下使用 VScode 搭建 ARM 开发环境

矜辰所致

开发工具 开发环境 arm 8月月更

【CSS 盒子模型(下)】:padding 和 margin

翼同学

CSS html 前端 8月月更

弹性云端新算力,驱动沉浸新交互 |2022阿里云金融创新峰会

阿里云弹性计算

计算巢 云盒 倚天实例 专属Region

【CSS·圆角边框】有关border-radius属性的记录以及实现原理

翼同学

CSS html 前端 8月月更

【CSS 盒子模型(上)】:width、height、overflow、border

翼同学

CSS html 前端 8月月更

【CSS】什么是外边距的重叠?常见的有哪几种重叠情况?

翼同学

CSS 前端 编程语言 8月月更

记录一次数据库CPU被打满的排查过程

京东科技开发者

数据库 cpu cpu飙满 调优 慢SQL

开源,无禁止即可为

Databend

开源社区 大数据 开源 #开源 databend

什么?MySQL的等值查询竟然出错了??

转转技术团队

MySQL

30 分钟轻松搞定正则表达式基础

霍格沃兹测试开发学社

【CSS】怎么理解层叠性、继承性和优先性?选择器的权重如何叠加?

翼同学

CSS html 前端 编程语言 8月月更

持久,redis 持久化有哪几种方式,怎么选?

知识浅谈

redis持久化 8月月更

佛山复星禅诚医院黄汉森:云边协同,打造线上线下一体化智慧医疗

阿里云弹性计算

弹性计算 分布式云 云盒 异地双活

MySQL查询重写插件

TimeFriends

8月月更

SUSE 加速汽车行业智能化发展

Rancher

Kubernetes k8s rancher

技术分享 | 黑盒测试方法论—场景法

霍格沃兹测试开发学社

Docker杀掉了容器?问题分析与解决过程全面复盘

程序员欣宸

Docker 8月月更

mysql基础

楠羽

#开源

如何通过经纬度坐标获取附近的地址信息?

HarmonyOS SDK

定位

面试突击79:Bean 作用域是啥?它有几种类型?

王磊

Java 常见面试题

Rancher 2.6 全新 Logging 快速入门(2)

Rancher

Kubernetes k8s rancher

Pocoo发布Flask 0.10 和Werkzeug新版本_Web框架_水羽哲_InfoQ精选文章