Ini mungkin sederhana, tetapi saya melihat sekeliling dan tidak dapat menemukan jawaban. Apa cara terbaik untuk mereferensikan satu item dalam daftar dari templat Django?
Dengan kata lain, bagaimana saya melakukan padanan {{ data[0] }}
dalam bahasa template?
Terima kasih.
python
django
django-templates
pengguna456584
sumber
sumber
{{ data.foo }}
, di manafoo
variabel dengan nilai indeks di dalamnya dan bukan nama properti.Cara yang lebih baik: filter template ubahsuaian: https://docs.djangoproject.com/en/dev/howto/custom-template-tags/
seperti dapatkan daftar_saya [x] di templat:
dalam template
templatetags / index.py
jika
my_list = [['a','b','c'], ['d','e','f']]
, Anda dapat menggunakan{{ my_list|index:x|index:y }}
template untuk mendapatkanmy_list[x][y]
Ini berfungsi baik dengan "untuk"
Teruji dan bekerja dengan baik ^ _ ^
sumber
{% for id in article_details.heading.contents.article_ids %} {% if id.type == 'DOI' %} {{ article_details.heading.contents.article_ids.forloop.counter0.value }} {% endif %} {% endfor %}
{{ data.0 }}
harus bekerja.Katakanlah Anda menulis
data.obj
django mencobadata.obj
dandata.obj()
. Jika tidak berhasil, itu akan dicobadata["obj"]
. Dalam kasus Andadata[0]
dapat ditulis sebagai{{ data.0 }}
. Tetapi saya menyarankan Anda untuk menarikdata[0]
tampilan dan mengirimkannya sebagai variabel terpisah.sumber
@ jennifer06262016, Anda pasti dapat menambahkan filter lain untuk mengembalikan objek di dalam Django Queryset.
Dalam hal ini, Anda akan mengetik sesuatu seperti ini {{Queryset | index: x | get_item}} ke dalam template Anda untuk mengakses beberapa objek kamus. Ini bekerja untuk saya.
sumber