tornado 学习之路
2015-11-04 10:06
239 查看
首先介绍一下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代码
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("You request the main page")
class StoryHandler(tornado.web.RequestHandler):
def get(self,story_id):
self.write("You requested the story " + story_id)
application = tornado.web.Application([(r"/",MainHandler),(r"/story/([0-9]+)",StoryHandler),])
使用get_argument()方法获取发送过来的参数:
Python代码
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write('<html><body><form action="/" method="post">'
'<input type="text" name="message">'
'<input type="submit" value="Submit">'
'</form></body></html>')
def post(self):
self.set_header("Content-Type","text/plain")
self.write("You wrote "+ self.get_argument("message"))
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代码
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("You request the main page")
class StoryHandler(tornado.web.RequestHandler):
def get(self,story_id):
self.write("You requested the story " + story_id)
application = tornado.web.Application([(r"/",MainHandler),(r"/story/([0-9]+)",StoryHandler),])
使用get_argument()方法获取发送过来的参数:
Python代码
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write('<html><body><form action="/" method="post">'
'<input type="text" name="message">'
'<input type="submit" value="Submit">'
'</form></body></html>')
def post(self):
self.set_header("Content-Type","text/plain")
self.write("You wrote "+ self.get_argument("message"))
相关文章推荐
- Linux-awk
- Mission系统预览
- android模拟器与PC的端口映射
- 学点Linux小知识:SSH协议
- Android Studio配置SVN
- singleboard改为空白工程
- ATHEROS: ART分区中的数据解析
- 刷新tableView的某一分区或某一行
- Android反编译工具
- 大厅的列表服务预览
- 导出excel和xml和简单方法
- ASP.NET和PHP全面对比
- Launcher2修改--快捷界面和All Apps Icon大小和背景(二)
- Android优秀开发资源
- linux下文件重定向的问题,/dev/null
- 获取批处理文件所在路径
- 【转】MongoDB的java版本驱动
- Linux SDK之uClinux、Broadcom、Atheros、Realtek、Ralink、Marvell、Intel
- 百度的echart环形图颜色动态设置
- Module.h 网狐的“com”工具箱