如何在 Genshi 模板中定义变量以供重用?
假设我有两个嵌套的 for 循环:
<div py:for="i in xrange(5)>
<div py:for=j in xrange(10)>
<!-- do something with "i * j" -->
<!-- do something else with "i * j" -->
<!-- do yet another thing with "i * j" -->
</div>
</div>
正如评论中所指出的,我想用两个循环变量做一个简单的计算,然后用 reslt 做一些事情(例如将它插入到模板中)。
如果可能的话,我想重用计算的结果而不是多次计算(因为计算可能比示例中的要困难一些,而且如果可以的话,我也不想复制计算代码只需使用一个变量)。
我知道不应该在模板中做太多的计算,但这只是一个例子。我的目标是重用东西。我也知道有def
定义宏的标签,但我认为这些只是创建文本而不是变量,所以我不能在if
标签中使用它来进行条件检查。
有没有办法在 Genshi 模板中添加一个 Python 标记,仅用于简单的 Python 表达式,而无需输出一些东西?