[Django]テンプレートでobjectsの配列番号を指定する方法

Djangoテンプレート配列番号

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

objects[0]
と書きますが、Djangoの“テンプレート”でこれは利用できないので .インデックス番号 と覚えておきましょう。

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.