.Tang

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

获取输入的信息:

*** 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循环

 

posted on 2018-03-01 13:48  .Tang  阅读(182)  评论(0编辑  收藏  举报