0

ここに私が取り組んでいるコードがあります:

from html import *
class Form(BlockContainer):
    def __init__(self, form):
        name = 'form'
        BlockContainer.__init__(self, name)
        self.addAttr('method', 'post')
        self.addAttr('action', form)

class Label(Container):
    def __init__(self, label):
        name = 'label'
        Container.__init__(self, name)
        self.addAttr('for', label)

class Input(Tag):
    def __init__(self, text, title):
        name = 'input'
        Tag.__init__(self, name)
        self.addAttr('type', text)
        self.addAttr('name', title)

class Box(Div):
    def __init__(self, text):
        Div.__init__(self)
        self.addAttr('class', 'box')
        self.addText(text)

class StatusBox(Box):
    def __init__(self, name):
        Box.__init__(self, name)

さて、クラス StatusBox 内からクラス Input、Label、および Form を呼び出そうとしています。私は次のようにそれらを呼び出してみました:

Class StatusBox(Box):
    def __init__(self, name):
        Box.__init__(self, name)
        Form('blahblablah')
        Label('okiedokie')
        Input('whatever','okay')

しかし、このように呼び出すと、何も得られません。これらのクラスをシェルから構築すると、意図したとおりに動作します...

さて、シェルから Form はこれを返すはずです:

    t = Form('/savedata')
    # t renders as: '\n<form method="post" action="/savedata" />'

では、これを StatusBox クラスで返すにはどうすればよいですか? 変数に割り当ててから戻ると、「コンストラクターは NONE を返す必要があります」というエラーが表示されます

4

1 に答える 1

2

インスタンスは変数に格納されていないため、構築された後すぐに破棄されます。

于 2012-09-28T19:39:52.693 に答える