Python全系列 教程
3567个小节阅读:5931.2k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
tornado.web.RequestHandler
是HTTP请求处理程序的基类,每个RequestHandler类可以定义多个HTTP方法的行为,一般会把概念相关的功能绑定到同一个类是一个很好的方法。接下来一起看下RequestHander中的方法:
钩子类初始化。每个请求会调用
在get、post、put之前的请求开始时调用。执行通用初始化
请求结束后调用。此方法以执行清理,日志记录等
显式地设置HTTP状态码。Tornado会自动地设置HTTP状态码
404 Not Found
Tornado会在HTTP请求的路径无法匹配任何RequestHandler类相对应的模式时返回404(Not Found)响应码。
400 Bad Request
如果你调用了一个没有默认值的get_argument函数,并且没有发现给定名称的参数,Tornado将自动返回一个400(Bad Request)响应码。
405 Method Not Allowed
如果传入的请求使用了RequestHandler中没有定义的HTTP方法(比如,一个POST请求,但是处理函数中只有定义了get方法),Tornado将返回一个405(Methos Not Allowed)响应码。
500 Internal Server Error
当程序遇到任何不能让其退出的错误时,Tornado将返回500(Internal Server Error)响应码。你代码中任何没有捕获的异常也会导致500响应码。
200 OK
如果响应成功,并且没有其他返回码被设置,Tornado将默认返回一个200(OK)响应码。
finish
结束响应,在函数中可以返回内容
xxxxxxxxxx
from tornado import web
from tornado import ioloop
# 用来处理请求,并响应结果
class IndexHandler(web.RequestHandler):
def initialize(self,db = None) -> None:
# 初始化函数,一般用来初始化环境变量
self.db = db
def prepare(self):
print(111111111111111)
# 记录日志,打开文件
def on_finish(self) -> None:
print(333333333333333)
# 清理内容
def get(self):
print(22222222222)
self.write('Hello Tornado!!')
# self.set_status(500) # 直接返回响应的状态码
self.finish({'msg':'get success!!'})
def post(self):
print('info from post')
self.write('POST请求接收成功!!')
# put delete patch
if __name__ =='__main__':
# 创建一个tornado应用
app = web.Application([('/',IndexHandler)],debug = True)
# 设置监听端口
app.listen(8000)
# 通过事件循环来监听访问的端口
ioloop.IOLoop.current().start()
实时学习反馈
1. 在Tornado中,关于RequestHandler类说法错误的是?
A RequestHandler类在请求时,会被实例化
B RequestHandler类中set_status方法可以设置状态码
C RequestHandler类中on_finish方法会被请求结束时调用
D RequestHandler类中finish方法会被请求结束时调用
答案
1=>D