1

ここに私のサンプルコードがあります。

    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)
4

1 に答える 1

0

RequestHandler次の定義があります。

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

クラスまたは継承されたクラスを初期化するには、少なくとも 2 つの引数 (applicationおよび) を渡す必要があります。requestしかし、なぜあなたがそうしようとしているのか、私には本当に理解できません。Tornadoこのクラスは、各リクエスト中に内部ロジックによって初期化されるために使用されます。

私はあなたが間違ったことをしていると確信しています。おそらくドキュメントをチェックして、本当に必要なものを決定する必要があります。

PSアーカイブしようとしているもの以外を提供していただければ幸いです。

于 2013-09-03T19:01:04.540 に答える