質問: x %}に合致するものが1回もなかった 場合に、固定値ゼロ「0」を表示させたいのですが、そのような制御をDjango のテンプレートで実装する方法がわかりません。 実現方法がわかる方いましたら、ご教授のほどよろしくお願い致します。 環境:Django2.0.6
回答: テンプレートのタグで使えそうなものがないか確認してみましたが、状態を保持できるようなものがないので、ご要望しているような処理は、テンプレート内ではできなさそうですね。 テンプレート内で判断する理由が特にないのであれば、テンプレートに渡す前に、下記のようなフォーマットに変換(テンプレートでやろうとしている処理をrender()呼び出し前に実施)してしまう方法が取れると思います。 ``` list_data = [ {"label": "A001", "value": 100}, {"label": "A002", "value": 200}, {"label": "A003", "value": 0}, {"label": "A004", "value": 400}] ``` ``` {% for item in list_data %} {{item.label}}:{{item.value}} {% endfor %} ``` 一つのラベルが、複数回出てくることを想定するなら、valueをArrayにしても良いですね。その場合は、valueの処理でループが必要になります。