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
이 프레임 워크에서 변수를 공유하는 데 더 적합한 방법이 무엇인지 알고 싶습니다.
난 단지 몇 주 동안 파이썬과 토네이도를 해왔으므로, 내 무지를 용서해주십시오.
감사합니다.
헤드 업에 감사드립니다. 지금 코드를 변경했기 때문에 클라이언트 - 서버 간의 유일한 통신은 웹 소켓을 통한 것입니다. 그것은 또한 코드에서 모든 전역 변수를 제거 할 수 있다는 것을 의미합니다. – user1869421
조금 더 정교하게 들리는데 좋을 것 같습니다. 토네이도 채팅 데모 코드를 보면 클래스 중 하나에 살고있는 "웨이터"의 전체 목록을 사용합니다. 어쩌면 당신의 어플리케이션에 따라 과잉 될 수도 있습니다. https://github.com/facebook/tornado/blob/master/demos/chat/chatdemo.py – aychedee