2
到目前爲止,我一直通過將變量從一個Tornado
類聲明爲global
來傳遞變量。我認爲這可能不是這樣做的理想方式。這裏是我的代碼示例:在Tornado類中傳遞全局變量
class MHandler(tornado.web.RequestHandler):
@tornado.web.asynchronous
def get(self):
self.render('index.html')
def post(self):
global account_age
age = self.get_argument('age')
account_age = [age]
class AgeHandler(tornado.websocket.WebSocketHandler):
@tornado.web.asynchronous
@gen.engine
def open(self):
global account_age
print 'Your account is overdue by: ', account_age
我想知道,是否在這個框架中什麼是共享變量的更合適的方式。
我只做了幾個星期的蟒蛇和龍捲風,所以請原諒我的無知。
謝謝
感謝您的提醒。我現在改變了我的代碼,所以客戶機 - 服務器之間的唯一通信就是通過websockets。這也意味着我可以消除代碼中的所有全局變量。 – user1869421
聽起來不錯,詳細一點。如果你看看龍捲風聊天演示代碼,他們會使用一個全局的「服務員」列表,這些列表都存在於其中一個類中。雖然https://github.com/facebook/tornado/blob/master/demos/chat/chatdemo.py取決於您的應用程序可能過度殺傷 – aychedee