Djangoのテンプレートでobjectsに配列が入っていた時、N番目の要素を取得する方法をご紹介します。
普通は配列を1つずつ取り出して、要素にアクセスします。
template.html
{{ for object in objects }}
{{object.name}}
{{ endfor }}
こちらの例ではobjects配列を一つずつobjectとして取り出しています。
objectに対してnameというフィールドが用意されていればnameに保存されている値が出力されています。
nameが異なる内容だったり、リスト表示するときにはこれでいいのですが、リスト外で利用する時に1つの値を表示するためにfor を使うのは手間です。
そこで、特定の要素を取り出すためには下記の様にインデクス番号を指定します。
template.html
{{ objects.0 }}
これで指定した番号の配列にアクセスできます。
Pythonで配列にアクセスする場合は
template.html
と書きますが、Djangoの“テンプレート”でこれは利用できないので
objects[0]
.インデックス番号
と覚えておきましょう。
コメントを残す