2013-08-21 3 views
1

여기 내 샘플 코드.WebSocketHandler에서 RequestHandler로 메소드를 호출하는 방법은 무엇입니까?

class PDF(tornado.web.RequestHandler): 
     def get(self): 
      self.set_header('Content-Type', 'text/plain') 
      self.set_header('Content-Disposition', 'attachment; filename="export.txt"') 
      self.write('sdsadjs') 

class RealtimeHandler(tornado.websocket.WebSocketHandler): 
    pdf = PDF() ## Here I intialized the obeject 

개체를 초기화 할 때 아래 오류가 발생합니다.

TypeError: __init__() takes exactly 3 arguments (1 given) 
+0

아직도 답변을 찾으십니까? – slashingweapon

답변

0

RequestHandlerfollowing definition이있다 : 당신은 그것을 또는 상속 된 클래스를 초기화하기 위해 적어도 두 개의 인수 (applicationrequest)를 통과해야

class tornado.web.RequestHandler(application, request, **kwargs) 

. 그러나 나는 왜 당신이 그렇게하려고하는지 이해하지 못합니다. 이 클래스는 각 요청 동안 Tornado의 내부 논리에 의해 초기화되는 데 사용됩니다.

나는 틀린 일을하고 있다고 확신합니다. 아마도 the documentation을 확인하고 정말로 필요한 것을 결정해야합니다.

P. 보관하려는 것을 제외하고 제공하는 것이 좋을 것입니다.

관련 문제