在编写tornado Http服务器时,我无法从一个单独的RequestHandler对象访问主类中的实例变量,该类包含tornado应用程序对象和start方法。考虑下面这个粗略的例子
class MyServer(object):
def __init__(self):
self.ref_object = 0
self.application = #Add tornado.web.applicaiton here
def change_ref_object(self, ref_obj):
self.ref_object = ref_obj
def start(self):
#start the server
pass
class SomeHandler(tornado.web.RequestHandler):
def post(self):
#Yada, yada, yada
#Call method on Myserver's ref_object
pass
我需要在SomeHandler
的post()
方法中访问MyServer
的ref{u对象实例,并且我需要确保在{change_ref_object()
中发生了变化。在
Somehandler仅在创建pythonTornado web服务器(应用程序)时作为类引用,而且还不清楚在MyServer
中更改临时ref_对象时,如何访问{
归根结底,我不明白SomeHandler的实例在MyServer的作用域(或者具体地说,MyServer的application对象)中的何处。在
创建
Application
对象时,可以将ref_object
实例作为通常用于定义处理程序的元组的第三个参数放入dict中,将其传递给SomeHandler
。因此,在MyServer.__init__
中:然后将
^{pr2}$initialize
方法添加到SomeHandler
:相关问题 更多 >
编程相关推荐