在Tornado应用程序中设置类变量

时间:2012-08-31 03:32:35

标签: python tornado

我的Tornado应用程序结构如下:

...

class Application(tornado.web.Application):
    def __init__(self):
        ...

class MyHandler(tornado.web.RequestHandler):
    def get():
        ...

class MyOtherHandler(tornado.web.RequestHandler):
    def post():
        ...

class MyClass(object):
    my_class_variable = {}
    ...

    def my_method_one():
        # access my_class_variable
        ...

    def my_method_two():
        # access my_class_variable
        ...

在其中,我的自定义类中有一个类变量my_class_variable。我想在MyClass之外设置此类变量,例如在其中一个处理程序中。因此,我的问题是,在Tornado应用程序中直接在处理程序方法中修改类变量是一种很好的做法吗? e.g。

MyClass.my_class_variable[key] = value

2 个答案:

答案 0 :(得分:0)

是的,没关系。处理程序通常需要以各种方式与其他类进行交互。

答案 1 :(得分:0)

对我来说看起来很“脏”......在不知道具体问题的情况下很难分辨,但我觉得只要传递给my_method_onemy_method_two方法就更简单,更清晰需要,而不是设置一些类级属性。