如何从WebSocketHandler调用方法到RequestHandler?

时间:2013-08-21 05:46:26

标签: python python-3.x tornado

这是我的示例代码。

    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)

1 个答案:

答案 0 :(得分:0)

RequestHandlerfollowing definition

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

您需要传递至少两个参数(applicationrequest)来初始化它或继承的类。但我真的不明白你为什么要这样做。此类用于在每个请求期间由Tornado的内部逻辑初始化。

我确定你做错了。您应该查看the documentation并确定您真正需要的内容。

P.S。如果你提供一些除了你想要存档的东西,那就太好了。