Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tornado:initialize()和prepare()之间的区别_Python_Python 3.x_Server_Webserver_Tornado - Fatal编程技术网

Python Tornado:initialize()和prepare()之间的区别

Python Tornado:initialize()和prepare()之间的区别,python,python-3.x,server,webserver,tornado,Python,Python 3.x,Server,Webserver,Tornado,我使用Tornado作为web服务器,我注意到两个函数,initialize和prepare,它们是在请求处理(POST、GET等)之前调用的。 但我无法理解两者之间的区别:似乎它们可以用于相同的事情。你能解释一下函数是否有不同的用例吗?如果有疑问,请使用prepare()prepare()是执行大多数操作的合适位置,因为它可以执行常规处理程序方法可以执行的任何操作(包括调用self.write()或self.render(),或调用tornado.web.HTTPError) 仅使用initi

我使用Tornado作为web服务器,我注意到两个函数,
initialize
prepare
,它们是在请求处理(POST、GET等)之前调用的。
但我无法理解两者之间的区别:似乎它们可以用于相同的事情。你能解释一下函数是否有不同的用例吗?

如果有疑问,请使用
prepare()
prepare()
是执行大多数操作的合适位置,因为它可以执行常规处理程序方法可以执行的任何操作(包括调用
self.write()
self.render()
,或调用
tornado.web.HTTPError


仅使用
initialize()
处理从
URLSpec
接收的参数(几乎总是通过将它们保存到实例变量)<代码>初始化可能不会调用像
self.write
这样的方法,并且它引发的异常可能不会得到干净的处理,因此请保持简单。

手册对其进行了很好的描述,不是吗<代码>初始化应该只接受传递给类的参数,基本上不接受其他参数
Prepare
可能会执行与请求相关的“实际工作”。如果这一点非常明确,那么我不会要求在服务器启动时只调用一次initialize?否。对于每个请求,将创建一个新的RequestHandler对象,并调用其initialize和Prepare方法。