tal:条件未执行条件检查

我有以下理论上应该可以使用的所有条件代码,但它没有执行条件检查。表单达到此条件,运行它,然后返回除以0的除数错误,而不是返回0


我故意处理不完整的数据,这是为了确保不会生成错误页面,表中的单元格仅显示0。


<td style="text-align: right;">

        <span tal:condition="python:result.sum_adt_out<>0">

               <span tal:replace="python:'%.1f'%((float(result.sum_cenmn) or 0)/float(result.sum_adt_out))">currentindex</span></span>


        <span tal:condition="python:result.sum_adt_out==0">

               <span tal:replace="python:'%.1f'%(0.0)"></span></span>

</td>

如果有人有任何想法,将不胜感激。


守着星空守着你
浏览 151回答 1
1回答

有只小跳蛙

如果您的result.sum_adt_out属性是字符串,则测试将失败。另请注意,<>已在Python中弃用,请!=改用来测试不平等。模板经过简化,float()首先调用该值以确保它是数字,然后变为:<td style="text-align: right;" tal:define="sum_adt_out python:float(result.sum_adt_out)">&nbsp; &nbsp; <span tal:condition="sum_adt_out"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tal:content="python:'%.1f' % (float(result.sum_cenmn)/sum_adt_out,)">currentindex</span>&nbsp; &nbsp; <span tal:condition="not:sum_adt_out">0.0</span></td>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python