如何将前缀字符串添加到TAL:attribute repeat index命令?

时间:2014-04-07 22:02:57

标签: html templates chameleon template-metal

我在Pyramid Chameleon项目中使用TAL(模板属性语言)。我想使用TAL循环来定义模板中的属性。

<tal tal:repeat="reward_program reward_programs">
    <button tal:attributes="data-target repeat.reward_program.index">Button</button>
</tal>

这让我很接近。但只会让我产生数据目标&#39;中有一个数字(增加)如此:

<button data-target="0">Button</button> 

我想有一个固定的AND选项,在数据目标属性中有一个变量字符串前缀,如下所示:

<button data-target="#program0">Button</button>

您如何为TAL索引变量添加前缀?我想知道如何使前缀成为一个修复字符串并将其定义在一个变量中。

2 个答案:

答案 0 :(得分:0)

这个答案有效:

<tal tal:repeat="reward_program reward_programs">
    <button tal:attributes="data-target python:'#program-{}'.format(repeat.reward_program.index)>Button</button>
</tal>

答案 1 :(得分:0)

您可以使用字符串表达式插入repeat索引:

<tal tal:repeat="prog reward_programs">
    <button 
        tal:attributes="data-target string:#program-${repeat.prog.index}"
        >Button</button>
</tal>