tornado使用教程,tornado菜鸟教程

  tornado使用教程,tornado菜鸟教程

  在了解了很多关于巨蟒龙卷风的知识后,边肖来测试大家。景色如何?想要好答案的小伙伴不急着回答,我们就跟着问题一起往下看。

  尽管在Python中讨论异步有很多麻烦,我们还是决定暂时不使用它。我们先写一个基本的龙卷风视图。

  与我们在Flask和Pyramid实现中看到的基于函数的视图不同,Tornado的视图都是基于类的。这意味着我们将不再使用分离的、独立的函数来指定如何处理请求。相反,传入的HTTP请求将被捕获并分配为我们定义的类的属性。然后,它的方法将处理相应的请求类型。

  先说一个基本的视图,就是在屏幕上打印“Hello,World”。我们为Tornado应用程序构建的每个基于类的视图都必须继承tornado.web中的RequestHandler

  ont-family: 宋体;">对象。这将设置我们需要(但不想写)的所有底层逻辑来接收请求,同时构造正确格式的 HTTP 响应。

  

fromtornado.webimportRequestHandler

  

  classHelloWorld(RequestHandler):

  """Print'Hello,world!'astheresponsebody."""

  

  defget(self):

  """HandleaGETrequestforsayingHelloWorld!."""

  self.write("Hello,world!")

因为我们要处理 GET 请求,所以我们声明(实际上是重写)了 get 方法。我们提供文本或 JSON 可序列化对象,用 self.write 写入响应体。之后,我们让 RequestHandler 来做在发送响应之前必须完成的其它工作。

  

就目前而言,此视图与 Tornado 应用程序本身并没有实际连接。我们必须回到 __init__.py,并稍微更新 main 函数。以下是新的内容:

  

#__init__.py

  fromtornado.httpserverimportHTTPServer

  fromtornado.ioloopimportIOLoop

  fromtornado.optionsimportdefine,options

  fromtornado.webimportApplication

  fromtodo.viewsimportHelloWorld

  

  define('port',default=8888,help='porttolistenon')

  

  defmain():

  """Constructandservethetornadoapplication."""

  app=Application([

  ('/',HelloWorld)

  ])

  http_server=HTTPServer(app)

  http_server.listen(options.port)

  print('Listeningonhttp://localhost:%i'%options.port)

  IOLoop.current().start()


  

以上就是python tornado视图的详解及用法。更多Python学习推荐:PyThon学习网教学中心

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: