1.Tornado简介
tornado是一个使用Python编写的兼web框架以及服务器的framework。既能进行web application的开发,同时也内置了高性能处理的web服务器。它在处理严峻的网络流量时表现的足够强劲,但却在创建和编写时有着足够的轻量级。常规操作情况下,tornado开发的应用程序,最好部署在tornado自己的http服务器中以便发挥它最好的处理性能。
安装方式:pip install tornado
2.第一个Web项目-----hello tornado
"""
第一个Web项目-----hello tornado
"""
# 引入需要的模块
from tornado.web import RequestHandler, Application
from tornado.ioloop import IOLoop
# 定义视图处理函数
class IndexHandler(RequestHandler):
# 重写get处理方式
def get(self):
# 想客户端发送一个数据
self.write("
# 程序入口
if __name__ == '__main__':
app = Application([
# 定义路由访问
(r'/', IndexHandler),
])
# 监听端口
app.listen(8000)
# 启用tornado内置的服务器轮询监听
IOLoop.current().start()
模块解析:
tornado.web.RequestHandler:tornado web
框架核心的一个处理类,主要进行用户请求对象的处理,用户发送的各种请求方式都包含在RequestHandler中进行操作,在实际开发过程中,我们自定义的处理类要继承这个类型,重写它的各种请求处理方式,方便在程序运行过程中可以处理对应的客户端url请求。
tornado.web.Application:tornado web
框架核心的处理类,主要进行web应用程序的包装,将自定义请求处理类结合url地址[路由]可以包装在Application对象中,形成了一个完整的web应用程序[url请求\路由\处理方式(函数/类型)]。
tornado.ioloop.IOLoop:tornado web
服务器的核心处理类,主要进行用户请求的轮询遍历操作,针对客户端发起的多个请求,进行轮询处理过程。
3.tornado应用程序接收命令行参数。
"""
tornado 应用程序接收命令行参数
"""
# 引入需要的模块
from tornado.web import Application, RequestHandler
from tornado.ioloop import IOLoop
from tornado.httpserver import HTTPServer
from tornado.options import define, options, parse_command_line
# 定义变量,用于保存端口号,这是应用程序启动的端口,默认8000,可以通过--port=8001这样的方式来指定
define("port", default=8000, help="变量保存端口,默认8000")
# 定义视图处理类
class IndexHandler(RequestHandler):
def get(self):
self.write("
# 定义程序入口
if __name__ == '__main__':
# 开始监听命令行数据
parse_command_line()
# 构建web项目
app = Application([
(r'/', IndexHandler),
])
# 部署项目
server = HTTPServer(app)
server.bind(options.port)
server.start()
# 轮询监听
IOLoop.current().start()
启动时定义端口号
python demo_XXX.py --port=8001