如何从子类中调用不同类的实例?

时间:2012-09-28 19:30:36

标签: python

以下是我正在处理的代码:

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

但是当我这样打电话给他们时,我什么都没得到。我从shell构造这些类,它们按预期工作......

好的,所以从shell开始,Form应该返回:

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

那么如何在StatusBox类中返回? 如果我分配给一个变量然后返回,我得到一个错误'构造函数应该返回NONE'

1 个答案:

答案 0 :(得分:2)

您的实例会被构造,然后立即被丢弃,因为它们不存储在变量中。