Frage

Ich möchte je nach Klasse des Objekts ein Widget erstellen. Gibt es eine einfache Möglichkeit, dies in Mako zu tun? zum Beispiel

Klasse A könnte Attribute A und B haben

während

Klasse B könnte Attribute A, B und C haben

Gibt es ein Muster dafür?

Ich möchte eine Superklasse erstellen, die sie nur erben, aber wenn ich einen Funktionsdruck habe und sie aufrufe, indem ich obj.print () aufzurufen, aber ich möchte keinen Vorlagencode in Klassenfunktionen einfügen

Zum Beispiel habe ich ein Widget, das geht

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

Aber wenn es Objekt B ist, möchte ich, dass es geht

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

usw., fragte sich aber, ob es einen sauberen Weg gibt, dies zu tun

War es hilfreich?

Lösung

Machen Sie eine Methode, die zurückgibt [a, b] in Klasse A und [a, b, c] in Klasse B.

Dann können Sie:

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

(Ich habe Mako noch nie benutzt, also könnte die Syntax inkorektiert werden.)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top