Python类依赖模板?

时间:2010-09-30 21:54:03

标签: python templates mako

我想根据对象的类创建一个小部件,在mako中有一个简单的方法吗?例如

A类可能有属性A和B

,而

B类可能有属性A,B和C

有这种模式吗?

我想创建一个他们继承的超类,但是如果我有一个函数print并通过调用obj.print()调用它,但我不想将模板代码放入类函数中

例如,我有一个小部件

<div>obj.a</div>
<div>obj.b</div>
<div>obj.c</div>
<div>obj.d</div>

但如果它是对象B,我希望它去

<div>obj.a</div>
<div>obj.b</div>
<div>obj.c</div>
等等,但是想知道是否有一个干净的方法来做到这一点

1 个答案:

答案 0 :(得分:1)

制作一个方法,在A类中返回[a, b],在B类中返回[a, b, c]

然后你可以这样做:

% for stuff in thing.return_list_of_stuff:
    <div>${stuff}</div>
% endfor

(我从未使用过mako,因此语法可能是incorect。)