【最新機種】GoPro hero11 Black
最新機種でVlogの思い出を撮影しよう!
ペヤング ソースやきそば 120g×18個
とりあえず保存食として買っておけば間違いなし!
レッドブル エナジードリンク 250ml×24本
翼を授けよう!
モンスターエナジー 355ml×24本 [エナジードリンク]
脳を活性化させるにはこれ!
Bauhutte ( バウヒュッテ ) 昇降式 L字デスク ブラック BHD-670H-BK
メインデスクの横に置くのにぴったりなおしゃれな可動式ラック!
BANDAI SPIRITS ULTIMAGEAR 遊戯王 千年パズル 1/1スケール
もう一人の僕を呼び覚ませ!!
サンディスク microSD 128GB
スマホからSwitchまで使える大容量MicroSDカード!
スポンサーリンク
Templateでの配列操作
ループ処理
サーバーロジックで配列をレスポンスとして返した場合、テンプレート側でリスト表示したい事があると思います。
1 2 3 4 |
response = { 'numbers': [1,2,3,4,5] } return render(request, 'list/index.html', response) |
その場合は以下のように記述する事で配列をループ操作する事が可能になります。
1 2 3 4 5 6 |
<div> {% for user in users %} <p>Name:{{user.name}}</p> <p>Age:{{user.age}}</p> {% endfor %} </div> |
配列の要素数
レスポンスに含まれる配列の要素数を取得したいケースもあると思います。
その場合、以下のようにlen関数を使って取得しがちです。
1 |
<p>Count:{{len(users)}}</p> |
しかし、Djangoではエラーになってしまいます。
1 |
django.template.exceptions.TemplateSyntaxError: Could not parse the remainder: '(users)' from 'len(users)' |
len関数はTemplate側では定義されていないので使う事が出来ません。
正しくは以下のように「{配列}|(パイプ)length」を利用して取得します。
AngulerJSのフィルターみたいな感じになりますね。
1 |
<p>Count:{{users|length}}</p> |
無事に表示されましたね。