知行编程网知行编程网  2023-01-01 17:00 知行编程网 隐藏边栏  5 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python tornado视图是什么?怎么用?的相关知识,希望可以帮到处于编程学习途中的小伙伴

之前了解了很多关于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学习推荐:




本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享