ここに私が取り組んでいるコードがあります:
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 を返す必要があります」というエラーが表示されます