Tornado使用命令行来控制启动
接下来我们对代码做一些更改:
import tornado.httpserver
import tornado.ioloop
import tornado.web
import tornado.options
from tornado.options import define,options
tornado.options.define('port',default=8080,help='run port',type=int)
'''
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):
def get(self):
self.write("hi boy")
class TestIndexHandler(tornado.web.RequestHandler):
def get(self):
name = self.get_arguments('name')
self.write('<b>hello</b> <br><hr>')
self.write(','.join(name))
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)
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打印在控制台
'''