Python класс-зависимый шаблон? - PullRequest
0 голосов
/ 01 октября 2010

Я хочу создать виджет в зависимости от класса объекта, есть ли простой способ сделать это в мако?например,

класс A может иметь атрибуты A и B

, тогда как

класс B может иметь атрибуты A, B и C

, есть ли шаблон дляthis?

Я хочу создать суперкласс, который они наследуют, но если у меня есть функция 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 Ответ

1 голос
/ 01 октября 2010

Создайте метод, который возвращает [a, b] в классе A и [a, b, c] в классе B.

Тогда вы можете сделать:

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

(я никогда не использовал mako, поэтому синтаксис может быть неправильным.)

...