質問
<div tal:define="number python: 1">
<tal:block repeat="item s_items">
<div tal:define="number python: number + 1">
<div tal:content="python: number">none</div>
</div>
</tal:block>
</div>
こんにちは、常に2を表示します。しかし、私は2 3 4 5を見せたいです...どうすればよいですか?ありがとう
解決
遅れて申し訳ありませんが、ようなことができます。
<div tal:define="global number python: 1">
<tal:block repeat="item s_items">
<div tal:define="global number python: number + 1">
<div tal:content="python: number">none</div>
</div>
</tal:block>
</div>
他のヒント
すみません、少し遅れています;-)
これは繰り返し変数でより良い解決策ではないでしょうか?
<tal:loop repeat="item s_items">
<div tal:content="repeat/item/number">1</div>
</tal:loop>
(「ブロック」の代わりに「ループ」は味の問題です...)
「繰り返し」の後の名前は、iterator変数「アイテム」の名前です。 「番号」は1で始まり、インデックス」は0から始まります(もっとあります)。
所属していません StackOverflow