我想根据对象的类创建一个小部件,在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>
等等,但是想知道是否有一个干净的方法来做到这一点
答案 0 :(得分:1)
制作一个方法,在A类中返回[a, b]
,在B类中返回[a, b, c]
。
然后你可以这样做:
% for stuff in thing.return_list_of_stuff:
<div>${stuff}</div>
% endfor
(我从未使用过mako,因此语法可能是incorect。)