获取输入的信息:
*** get_argument get_arguments 兼顾以下两种常用
能从url中获取 ?name=xiaoming
能从body中获取 form表单
get_query_argument # 获取查询字符串(url)
get_query_arguments
get_body_argument # 获取body
get_body_arguments
url传参
1.查询字符串风格(?name=xx,age=xx)
2.REST风格(正则)
def get(self,name,age): 三个参数,加上name age
self.write("name:%s<br>age:%s" %(name,age))
按位置顺序传参
(r"/user/(.+)/([0-9]+)" 127.0.0.1/8000/user/ming/18
按变量名传参 取名 ?P<>
(r"/user1/(?P<age>[0-9]+)/(?P<name>.+)" 127.0.0.1/8000/user1/18/ming
import tornado.ioloop import tornado.web import tornado.httpserver # 非阻塞 import tornado.options # 提供了多种选择 python xxx.py --port=xxxx from tornado.options import define,options define('port',default=8000,help='run port',type=int) # windows通过Ctrl+鼠标左键 define('version',default=0.1,help='version',type=str) class UserHandler(tornado.web.RequestHandler): def get(self,name,age): self.write("name:%s<br>age:%s" %(name,age)) application = tornado.web.Application( handlers=[ # 列表按顺序匹配 (r"/user/(.+)/([0-9]+)",UserHandler), (r"/user1/(?P<age>[0-9]+)/(?P<name>.+)",UserHandler) # ?P<>取名 ], template_path='templates', # 表明页面html的路径 debug=True # 上传代码后服务器自动重启 ) if __name__ == '__main__': tornado.options.parse_command_line() # 通过sys.arg获取命令行输入参数(python xxx.py --port=xxx) print(options.port) print(options.version) http_server = tornado.httpserver.HTTPServer(application) # 非阻塞 application.listen(options.port) tornado.ioloop.IOLoop.instance().start() # 启动io循环