Templateでの配列操作
ループ処理
サーバーロジックで配列をレスポンスとして返した場合、テンプレート側でリスト表示したい事があると思います。response = {
'numbers': [1,2,3,4,5]
}
return render(request, 'list/index.html', response)
その場合は以下のように記述する事で配列をループ操作する事が可能になります。<div>
{% for user in users %}
<p>Name:{{user.name}}</p>
<p>Age:{{user.age}}</p>
{% endfor %}
</div>

配列の要素数
レスポンスに含まれる配列の要素数を取得したいケースもあると思います。
その場合、以下のようにlen関数を使って取得しがちです。<p>Count:{{len(users)}}</p>
しかし、Djangoではエラーになってしまいます。
django.template.exceptions.TemplateSyntaxError: Could not parse the remainder: '(users)' from 'len(users)'len関数はTemplate側では定義されていないので使う事が出来ません。
正しくは以下のように「{配列}|(パイプ)length」を利用して取得します。
AngulerJSのフィルターみたいな感じになりますね。<p>Count:{{users|length}}</p>

無事に表示されましたね。
