Tornado使用命令行来控制启动
接下来我们对代码做一些更改:
import tornado.httpserver
import tornado.ioloop #开启循环,让服务一直等待请求的到来
import tornado.web #web服务基本功能都封装在此模块中
import tornado.options
from tornado.options import define,options #从tornado.options中引入define,options
tornado.options.define('port',default=8080,help='run port',type=int) #动态改变端口 #python test.py --port=8000 使用命令行来控制启动
'''
define('version', default='0.0.1', help='version 0.0.1', type=str) ## 版本号
python test.py --port=8000
python test.py --version=1.0
python test.py --help
'''
class MainHandler(tornado.web.RequestHandler): #Hander 一个类 在这里指定请求的资源
def get(self): #url都是get请求 处理get请求
self.write("hi boy") #往客户端输送
class TestIndexHandler(tornado.web.RequestHandler):
def get(self):
# name = self.get_argument("name"," none") #127.0.0.1:8080/index?name=xps
# self.write("<b>hello</b>"+name)
#print(name)
name = self.get_arguments('name')
self.write('<b>hello</b> <br><hr>') #self.wrrite()可以解析前端的标签
self.write(','.join(name)) ##拼接多个参数 127.0.0.1:8080/index?name=xps?name=ppp
print(name) #打印在终端
application = tornado.web.Application( #路由表是访问服务器的入口
[
(r"/index",MainHandler),
(r"/test",TestIndexHandler),
]
)
if __name__ == "__main__":
tornado.options.parse_command_line() #打印出了请求信息
http_server = tornado.httpserver.HTTPServer(application)
http_server.listen(options.port) #动态监听端口
# application.listen(8080) #监听端口
tornado.ioloop.IOLoop.instance().start() #一直运行
进入虚拟机虚拟环境之后(workon py3env
退出的话是:deactivate
)启动服务器,注意,这里可以在命令行可以确定端口 python test2.py -- port=8000
运行成功。
另外还要注意:
”’
get_argements
返回的是list
get_argement
返回的是str
对于单一的值,在get和post中调用`self.get_argument(“name”, “default”)`。
对于多选的值,调用`self.get_arguments(“name”`)即可。
get_argument方法可以设置默认值,也可以设置是否删除两端的空格
write打印在页面
print打印在控制台
'''