tornado 学习之路

首先介绍一下Tornado的 主要模块 : 
  • web:FriendFeed使用的Web框架,实现了Tornado的大多数重要功能;
  • escape:对XHTML,JSON,URL编码解码的一些方法;
  • database:对MySQLdb的一个简单封装;
  • template:基于Python的web模板系统;
  • httpclient:被设计用于同web和httpserver协同工作的非阻塞式HTTP客户端;
  • auth:第三方认证的实现;
  • locale:一套本地化,翻译机制;
  • options:针对服务器环境的命令行,配置文件解析工具;
底层模块 
  • httpserver:服务于web模块的非常简单的HTTP服务器的实现;
  • iostream:对非阻塞式的常用socket读写的简单封装;
  • ioloop:核心的I/O循环;
其他模块 
  • s3server:一个web服务器,实现了Amazon S3的大部分接口,依靠本地文件存储实现。

一个Tornado的Web应用会将一组URL映射到tornado.web.RequestHandler的子类上去,子类中定义了get()和post()方法用以处理不同的HTTP请求。 
下面代码将根目录/映射到MainHandler,将一个URL模式/story/([0-9]+)映射到StoryHandler. 
Python代码   收藏代码
  1. class MainHandler(tornado.web.RequestHandler):  
  2.    def get(self):  
  3.        self.write("You request the main page")  
  4.   
  5. class StoryHandler(tornado.web.RequestHandler):  
  6.    def get(self,story_id):  
  7.        self.write("You requested the story " + story_id)  
  8.   
  9. application = tornado.web.Application([(r"/",MainHandler),(r"/story/([0-9]+)",StoryHandler),])  


使用get_argument()方法获取发送过来的参数: 
Python代码   收藏代码
  1. class MainHandler(tornado.web.RequestHandler):  
  2.  def get(self):  
  3.      self.write('<html><body><form action="/" method="post">'  
  4.                 '<input type="text" name="message">'  
  5.                 '<input type="submit" value="Submit">'  
  6.                 '</form></body></html>')  
  7.   
  8.  def post(self):  
  9.      self.set_header("Content-Type","text/plain")  
  10.      self.write("You wrote "self.get_argument("message"))  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值