2013-06-26 8 views
0

이론적으로는 작동하지만 조건 검사를 수행하지 않는 다음 조건 코드가 있습니다. 양식이이 조건에 부딪쳐서 실행 한 다음 0 대신 0 나누기 오류로 나누기를 반환합니다.tal : 조건이 수행되지 않음 조건 검사

임 완전하지 않은 데이터로 작업하고 있습니다. 이는 오류 페이지가 생성되지 않도록 테이블의 셀을 막 생성합니다. 누구나 아이디어가 있다면 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> 

을 보여 주면 대단히 감사하겠습니다.

답변

0

result.sum_adt_out 특성이 문자열 인 경우 테스트가 실패합니다.

또한 <>은 Python에서 더 이상 사용되지 않으며, 대신에 불평등을 테스트하기 위해 !=을 사용합니다. 템플릿이 간단하고 숫자가되도록하려면 먼저 float()을 값에 호출하여 템플릿이됩니다.

<td style="text-align: right;" tal:define="sum_adt_out python:float(result.sum_adt_out)"> 
    <span tal:condition="sum_adt_out" 
      tal:content="python:'%.1f' % (float(result.sum_cenmn)/sum_adt_out,)">currentindex</span> 

    <span tal:condition="not:sum_adt_out">0.0</span> 

</td> 
+0

완벽하게 작동했습니다. 대단히 감사합니다! – John