即将发布的 Tornado 2.0 将会带来哪些特性?
- 模板输出默认开启转义
- AsyncHTTPClient的默认实现现在是simple_httpclient
- 支持Python3.2了 向后兼容性: - 如果你不想在模板中默认开启escape,可以在Application构造器中传一个autoescape=None的参数
- 如果你想继续使用原来的curl_httpclient而不是simple_httpclient,只需调用AsyncHTTPClient.configure(“tornado.curl_httpclient.CurlAsyncHTTPClient”)
其他小更改: – 模板中增加如下指令:
- {% autoescape …%} 控制转义行为
- {% raw … %} 表示没有转义的输出 * {% module … %} 调用UIModules * {% module Template(path, **kwargs) %} 用于在一个独立的命名空间中调用另一个模板
- 所有的IOStream调用都走IOLoop,通过add_callback函数追加
- 当IPv6可用时HTTPServer会支持IPv6,禁用它可以把family=socket.AF_INET传递给HTTPServer.bind().
- 如果request带有allow_ipv6=True的话,HTTPClient会支持ipv6.
- 通过重写decode_argument()方法,RequestHandlers的请求参数可以支持非utf8编码.
- 性能改进,尤其是使用了很多IOLoop超时的应用程序。
- HTTP的OPTIONS方法不再需要XSRF口令
- JSON 输出 (RequestHandler.write(dict)) ,现在设置Content-Type为application/json
- Etag指令可以定制或者禁用,通过重写RequestHandler.compute_etag方法
- 环境变量USE_SIMPLE_HTTPCLIENT不再被支持,使用AsyncHTTPClient.configure代替。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。