• 技术文章 >Python技术 >Python基础教程

    python tornado视图是什么?怎么用?

    2020-11-09 16:00:44原创1630
    之前经过很多关于python tornado的知识,小编来考考大家,视图是什么呢?想好答案的小伙伴也不着急回答,我们带着问题一起往下看。


    尽管经历了在 Python 中讨论异步的所有麻烦,我们还是决定暂不使用它。先来编写一个基本的 Tornado 视图。

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

    让我们从一个基本的视图开始,即在屏幕上打印Hello, World”。我们为 Tornado 应用程序构造的每个基于类的视图都必须继承 tornado.web 中的 RequestHandler 对象。这将设置我们需要(但不想写)的所有底层逻辑来接收请求,同时构造正确格式的 HTTP 响应。

    from tornado.web import RequestHandler
     
    class HelloWorld(RequestHandler):
        """Print 'Hello, world!' as the response body."""
     
        def get(self):
            """Handle a GET request for saying Hello World!."""
            self.write("Hello, world!")

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

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

    # __init__.py
    from tornado.httpserver import HTTPServer
    from tornado.ioloop import IOLoop
    from tornado.options import define, options
    from tornado.web import Application
    from todo.views import HelloWorld
     
    define('port', default=8888, help='port to listen on')
     
    def main():
        """Construct and serve the tornado application."""
        app = Application([
            ('/', HelloWorld)
        ])
        http_server = HTTPServer(app)
        http_server.listen(options.port)
        print('Listening on http://localhost:%i' % options.port)
        IOLoop.current().start()


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

    专题推荐:pythontornado
    上一篇:python tornado如何启动和配置? 下一篇:python tornado如何更改代码?

    相关文章推荐

    • tornado支持python3吗• python tornado是什么?怎么用?• python tornado如何启动和配置?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网