龙卷风:初始化()和准备()之间的区别
Tornado: difference between initialize() and prepare()
我正在使用 Tornado 作为 Web 服务器,我注意到 from the official guide 两个函数,initialize
和 prepare
,它们是在请求处理之前调用(POST、GET 等...)。
但我无法理解两者之间的区别:似乎它们可以用于相同的事情。如果函数有不同的用例,你能解释一下吗?
如有疑问,请使用 prepare()
。 prepare()
是做大多数事情的合适位置,因为它可以做常规处理程序方法可以做的任何事情(包括调用 self.write()
或 self.render()
,或引发 tornado.web.HTTPError
)。
仅使用 initialize()
来处理从 URLSpec
接收到的参数(几乎总是通过将它们保存到实例变量中)。 initialize
可能不会调用像 self.write
这样的方法,并且它引发的异常可能不会被干净地处理,所以保持简单。
我正在使用 Tornado 作为 Web 服务器,我注意到 from the official guide 两个函数,initialize
和 prepare
,它们是在请求处理之前调用(POST、GET 等...)。
但我无法理解两者之间的区别:似乎它们可以用于相同的事情。如果函数有不同的用例,你能解释一下吗?
如有疑问,请使用 prepare()
。 prepare()
是做大多数事情的合适位置,因为它可以做常规处理程序方法可以做的任何事情(包括调用 self.write()
或 self.render()
,或引发 tornado.web.HTTPError
)。
仅使用 initialize()
来处理从 URLSpec
接收到的参数(几乎总是通过将它们保存到实例变量中)。 initialize
可能不会调用像 self.write
这样的方法,并且它引发的异常可能不会被干净地处理,所以保持简单。