Tal条件总是评估为假

时间:2012-06-19 21:14:00

标签: plone zope

我正在使用plone并尝试在页面模板中显示表单结果。

我正在尝试使用带有python表达式的tal:condition过滤一些数据库结果,但它总是计算为false。

代码如下所示:

 <tr tal:repeat="result view/results">
     <td> <span tal:condition="python:view.teams[0]==result.team_id" tal:replace="result/position">Position</span></td>
     <td> <span tal:condition="python:view.teams[1]==result.team_id" tal:replace="result/position">Position</span></td>
</tr>

我希望在结果中匹配团队ID时,表格单元格将填充团队位置,但单元格始终为空。 如果我从tal:condition删除span并将tal:replace="result/position"替换为tal:replace=python:view.teams[0]==result.team_id,则会打印TrueFalse,以便我可以检查结果是正确的。

任何人都可以帮我解决这个问题吗?为什么tal:condition总是评估为假?

1 个答案:

答案 0 :(得分:3)

我完全希望这个有用,所以别的东西一定是错的。

像你这样的Python表达式很常见;有several examples on the internet来表明他们正常工作。

尝试使用tal:replace="python:repr(view.teams)"tal:replace="python:repr(result.team_id)"语句进一步调试值,类似于100%确定数据结构的外观。