Tornado 2.0 新特性¶
Jun 21, 2011¶
- Major changes:
- * Template output is automatically escaped by default; see backwards
- compatibility note below.
- * The default AsyncHTTPClient implementation is now simple_httpclient.
- * Python 3.2 is now supported.
- Backwards compatibility:
- * Template autoescaping is enabled by default. Applications upgrading from
- a previous release of Tornado must either disable autoescaping or adapt
- their templates to work with it. For most applications, the simplest
- way to do this is to pass autoescape=None to the Application constructor.
- Note that this affects certain built-in methods, e.g. xsrf_form_html
- and linkify, which must now be called with {% raw %} instead of {}
- * Applications that wish to continue using curl_httpclient instead of
- simple_httpclient may do so by calling
- AsyncHTTPClient.configure("tornado.curl_httpclient.CurlAsyncHTTPClient")
- at the beginning of the process. Users of Python 2.5 will probably want
- to use curl_httpclient as simple_httpclient only supports ssl on Python 2.6+.
- * Python 3 compatibility involved many changes throughout the codebase,
- so users are encouraged to test their applications more thoroughly than
- usual when upgrading to this release.
- Other changes in this release:
- * Templates support several new directives:
- - {% autoescape ...%} to control escaping behavior
- - {% raw ... %} for unescaped output
- - {% module ... %} for calling UIModules
- * {% module Template(path, **kwargs) %} may now be used to call another
- template with an independent namespace
- * All IOStream callbacks are now run directly on the IOLoop via add_callback.
- * HTTPServer now supports IPv6 where available. To disable, pass
- family=socket.AF_INET to HTTPServer.bind().
- * HTTPClient now supports IPv6, configurable via allow_ipv6=bool on the
- HTTPRequest. allow_ipv6 defaults to false on simple_httpclient and true
- on curl_httpclient.
- * RequestHandlers can use an encoding other than utf-8 for query parameters
- by overriding decode_argument()
- * Performance improvements, especially for applications that use a lot of
- IOLoop timeouts
- * HTTP OPTIONS method no longer requires an XSRF token.
- * JSON output (RequestHandler.write(dict)) now sets Content-Type to
- application/json
- * Etag computation can now be customized or disabled by overriding
- RequestHandler.compute_etag
- * USE_SIMPLE_HTTPCLIENT environment variable is no longer supported.
- Use AsyncHTTPClient.configure instead.
原文:
https://tornado-zh-cn.readthedocs.io/zh_CN/latest/releases/v2.0.0.html