Как добавить строку префикса в команду 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>
Другие вопросы по тегам