2つの数値を分割するためにテンプレートタグを使用しています。この問題は、分母がゼロのときに発生します。私は演算子でifを使用しようとしていますが、これは動作していないようです。Djangoテンプレート:0で除算するためにifフィルタを書く
<td class="data">${% if nnl_asof_mtdgoal %}{{ nl_mtdgoal.get_mtd_newloansgoal|div:nnl_asof_mtdgoal.get_mtd_numnewloansgoals |floatformat:"2"| intcomma }}{% endif %}
これは
File "C:\pycharm-virtenv\DjangoPostgres\lib\site-packages\mathfilters\templatetags\mathfilters.py" in div
72. return nvalue/narg
Exception Type: ZeroDivisionError at /reports/goals/
Exception Value: float division by zero
それはゼロによる除算そのので、必要として私は、このエラーが発生します。私はこれをしようとすると:
<td class="data">${% if nnl_asof_mtdgoal !="0" %}{{ nl_mtdgoal.get_mtd_newloansgoal|div:nnl_asof_mtdgoal.get_mtd_numnewloansgoals |floatformat:"2"| intcomma }}{% endif %}
</td>
私はこのエラーを取得:
Exception Type: TemplateSyntaxError at /reports/goals/
Exception Value: Could not parse the remainder: '!="0"' from '!="0"'
を私は、これは簡単なものでなければなら知っているが、私は部門がある場合にのみ、テーブルを描画する方法を見つけ出すように見えることはできません真、すなわちゼロで割っていない。
整数ですが、スペースを試しましたが、ゼロ誤差で浮動小数点除算を取得しています。私がテンプレートでこれを行う理由は、これらの値はデータベースに書き込む必要はなく、ユーザ入力のためにバックエンドで実行している他の数値計算の結果のみです。 –
'nnl_asof_mtdgoal'がゼロに等しいかどうかをチェックしていますが、' nnl_asof_mtdgoal.get_mtd_numnewloansgoals'で除算しています。値がデータベースに書き込む必要があるかどうかは関係ありません。ビューに 'nnl_asof_mtdgoal'がある場合は、ビューで計算を行うことができます。 – Alasdair
ありがとう!私はまだゼロがあるかどうかを認識することができません。私は 'code'ifnnl_asof_mtdgoal.get_mtd_numnewloansgoals!= 0を試みましたが、依然としてfloatエラーを受け取りました。テンプレートの外でこれらの計算を実行する必要があります。現在私は別の.pyファイルで計算を行い、テンプレートタグを使ってそれを指すようにしているので、views.pyファイルにはビュー関連のコードしかない。再度、感謝します! –