初始Tornado第二篇

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打印在控制台

'''