ねこじゃすり
猫を魅了する魔法の装備品!
Anker PowerCor
旅行には必須の大容量モバイルバッテリー!
[ノースフェイス] THE NORTH FACE メンズ アウター マウンテンライトジャケット
防水暴風で耐久性抜群なので旅行で大活躍です!
ペヤング ソースやきそば 120g×18個
とりあえず保存食として買っておけば間違いなし!
レッドブル エナジードリンク 250ml×24本
翼を授けよう!
モンスターエナジー 355ml×24本 [エナジードリンク]
脳を活性化させるにはこれ!
Bauhutte ( バウヒュッテ ) 昇降式 L字デスク ブラック BHD-670H-BK
メインデスクの横に置くのにぴったりなおしゃれな可動式ラック!
スポンサーリンク
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> |
無事に表示されましたね。