tornado还有必要学习吗(两分钟Tornado入门到上线)

 2025-04-21  阅读 450  评论 0

摘要:Tornado 和主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器。得利于其 非阻塞的方式和对 epoll 的运用,Tornado 每秒可以处理数以千计的连接,这意味着对于实时 Web 服务来说,Tornado 是一个理想的 Web 框架。下面是经典的

tornado还有必要学习吗(两分钟Tornado入门到上线)(1)

Tornado 和主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器。得利于其 非阻塞的方式和对 epoll 的运用,Tornado 每秒可以处理数以千计的连接,这意味着对于实时 Web 服务来说,Tornado 是一个理想的 Web 框架。

下面是经典的 Hello World 实例,非常的简单和容易理解:

tornado还有必要学习吗(两分钟Tornado入门到上线)(2)

Tornado 的 Web 程序会将 URL 或者 URL 范式映射到 tornado.web.RequestHandler 的子类上去。在其子类中定义了 get()post() 方法,用以处理不同的 HTTP 请求。

你可以使用 get_argument() 方法来获取查询字符串参数,以及解析 POST 的内容:

tornado还有必要学习吗(两分钟Tornado入门到上线)(3)

上传的文件可以通过 self.request.files 访问到,该对象将名称(HTML元素 <input type="file">的 name 属性)对应到一个文件列表。每一个文件都以字典的形式 存在,其格式为 {"filename":..., "content_type":..., "body":...}

如果你想要返回一个错误信息给客户端,例如“403 unauthorized”,只需要抛出一个 tornado.web.HTTPError 异常:

tornado还有必要学习吗(两分钟Tornado入门到上线)(4)

请求处理程序可以通过 self.request 访问到代表当前请求的对象。该 HTTPRequest 对象包含了一些有用的属性,包括:

  • arguments - 所有的 GETPOST 的参数

  • files - 所有通过 multipart/form-data POST 请求上传的文件

  • path - 请求的路径( ? 之前的所有内容)

  • headers - 请求的开头信息

你可以通过查看源代码 httpserver 模组中 HTTPRequest 的定义,从而了解到它的 所有属性。

tornado还有必要学习吗(两分钟Tornado入门到上线)(5)

,

版权声明:xxxxxxxxx;

原文链接:http://cn.tdroid.net/ce896Cz0HAQwDU1Y.html

发表评论:

管理员

  • 内容265473
  • 积分0
  • 金币0
关于我们
lecms主程序为免费提供使用,使用者不得将本系统应用于任何形式的非法用途,由此产生的一切法律风险,需由使用者自行承担,与本站和开发者无关。一旦使用lecms,表示您即承认您已阅读、理解并同意受此条款的约束,并遵守所有相应法律和法规。
联系方式
电话:
地址:广东省中山市
Email:
注册登录
注册帐号
登录帐号

Copyright © 2022 太卓开发网 Inc. 保留所有权利。 泰达科技网易库网

页面耗时0.1096秒, 内存占用1.33 MB, 访问数据库18次