之前了解了很多关于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中删除换行符10/18
- ♥ 如何在 Python 中对字典列表进行排序12/29
- ♥ 如何卸载mongodb11/10
- ♥ pow如何使用python中的内置调用?01/02
- ♥ 如何判断一个变量是否是python中的字符串10/08
- ♥ python基本颜色代码08/11
内容反馈