Как добавить строку префикса в команду TAL:attribute repeat index?
Я использовал TAL (язык атрибутов шаблона) с моим проектом Pyramid Chameleon. Я хочу использовать цикл с использованием TAL для определения атрибутов в моем шаблоне.
<tal tal:repeat="reward_program reward_programs">
<button tal:attributes="data-target repeat.reward_program.index">Button</button>
</tal>
Это приближает меня. Но только выведите мне "data-target" с числом в нем (которое увеличивается) следующим образом:
<button data-target="0">Button</button>
Я хотел бы иметь фиксированную опцию AND, чтобы иметь переменный префикс строки с этим номером в атрибуте data-target, например так:
<button data-target="#program0">Button</button>
Как бы вы добавили префикс к индексной переменной TAL? Я хотел бы знать, как сделать префикс фиксированной строкой и определить ее в переменной.
2 ответа
Решение
Этот ответ работает:
<tal tal:repeat="reward_program reward_programs">
<button tal:attributes="data-target python:'#program-{}'.format(repeat.reward_program.index)>Button</button>
</tal>
Вы могли бы интерполировать repeat
индекс со строковым выражением:
<tal tal:repeat="prog reward_programs">
<button
tal:attributes="data-target string:#program-${repeat.prog.index}"
>Button</button>
</tal>