阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

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:023037
用户头像

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

关注

评论

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

使用Node.js、MongoDB、Fastify 构建API服务

devpoint

mongodb nodejs swagger REST API 3月月更

图文详解:阿里宠儿【小兔】RabbitMQ的养成攻略

浅羽技术

Java RabbitMQ 中间件 消息队列 RabbitMQ延时队列

优秀程序员的30种思维--技术执念篇(22/100)

hackstoic

技术思维

QT读取剪切板内容-实现复制粘贴文本和图片

DS小龙哥

3月月更

即时通讯(IM)开源项目OpenIM每周迭代版本发布-音视频实时通话-v2.0.4

Geek_1ef48b

一文读懂网关中间件-Nginx

Linux服务器开发

nginx 中间件 api 网关 Linux服务器开发 Linux后台开发

2022 ARTS|Week 11

MiracleWong

算法 写作 ARTS 打卡计划

在线HTML压缩格式化工具

入门小站

工具

【C语言】 扫雷游戏(保姆级的实现过程)

謓泽

3月月更

VuePress 博客之 SEO 优化(四) Open Graph protocol

冴羽

Vue 前端 vuepress SEO 博客搭建

Linux之bc命令

入门小站

Linux

自己动手写Docker系列 -- 3.2增加容器资源限制

Docker

投资与人性(21/100)

hackstoic

投资

设计电商秒杀系统

supermenG

架构师训练营 4 期

自己动手写Docker系列 -- 4.2使用AUFS包装busybox

Docker

自己动手写Docker系列 -- 4.3实现volume数据卷

Docker

测试开发【Mock平台】02基础:Java Spring Boot框架知识

MegaQi

测试工具 测试发开 测试平台开发教程

首届实时渲染3D动画创作大赛最佳人气奖?你说了算!

3DCAT实时渲染

3D 虚幻引擎 实时渲染 ue

三高Mysql - Inndb存储引擎和索引介绍

懒时小窝

MySQL innodb MySQL InnoDB

游戏制作片段

都灵树屋

iOS内存管理篇

刁架构

内存管理 iOS 知识体系

一文了解 Python 中的对象析构函数:__del__

踏雪痕

Python 3月程序媛福利 3月月更

自己动手写Docker系列 -- 3.3使用命令管道优化参数传递

Docker

DDD 实战(5):战略设计之上下文映射和系统分层架构

深清秋

DDD 软件架构 生鲜电商系统 3月月更

在线JSON转HTML,TABLE表格工具

入门小站

工具

自己动手写Docker系列 -- 4.1使用busybox创建容器

Docker

国内外最好用的18个协同办公系统盘点

PingCode

模块 6 作业 拆分电商系统为微服务

王大胖

你的 vscode 配置真的舒服么?

道道里

C#调用C++动态库接口函数和回调函数

DS小龙哥

3月月更

Flutter 封装文本输入框

岛上码农

flutter 跨平台 Android开发 3月月更

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