1.安装
pip install tornado
2.请求处理程序和请求参数
Tornado 的 Web 程序会将 URL 或者 URL 范式映射到 tornado.web.RequestHandler
的子类上去。在其子类中定义了 get()
或 post()
方法,用以处理不同的 HTTP 请求。
下面的代码将 URL 根目录 /
映射到 MainHandler
,还将一个 URL 范式 /story/([0-9]+)
映射到 StoryHandler
。正则表达式匹配的分组会作为参数引入 的相应方法中:
import tornado.ioloop import tornado.web class MainHandler(tornado.web.RequestHandler): def get(self): self.write("Hello, world") class LoginHanlder(tornado.web.RequestHandler): def get(self, id): self.write("your id is %s"%id) print(id) # 参数-url路由 application = tornado.web.Application([ (r"/", MainHandler), (r"/login/(d+)",LoginHanlder) ]) if __name__ == "__main__": application.listen(8000) tornado.ioloop.IOLoop.instance().start()
你可以使用 get_argument()
方法来获取查询字符串参数,以及解析 POST
的内容:
class MainHandler(tornado.web.RequestHandler): def get(self): self.write('<html><body><form action="/" method="post">' '<input type="text" name="message">' '<input type="submit" value="Submit">' '</form></body></html>') def post(self): self.set_header("Content-Type", "text/plain") self.write("You wrote " + self.get_argument("message"))