Bagaimana cara saya mendapatkan jumlah elemen dalam daftar di template jinja2?
Misalnya, dalam Python:
print(template.render(products=[???]))
dan di jinja2
<span>You have {{what goes here?}} products</span>
<span>You have {{products|length}} products</span>
Anda juga dapat menggunakan sintaks ini dalam ekspresi seperti
{% if products|length > 1 %}
filter bawaan jinja2 didokumentasikan di sini ; dan secara khusus, seperti yang sudah Anda temukan, length
(dan sinonimnya count
) didokumentasikan ke:
Kembalikan jumlah item dari urutan atau pemetaan.
Jadi, sekali lagi seperti yang Anda temukan, {{products|count}}
(atau setara {{products|length}}
) di template Anda akan memberikan "jumlah produk" ("panjang daftar")
{% set item_count = items | length %}
asalkanitems
daftar,Komentar Alex terlihat bagus tetapi saya masih bingung dengan menggunakan jangkauan. Berikut ini berfungsi untuk saya saat bekerja pada kondisi menggunakan panjang dalam kisaran.
sumber
Saya mengalami masalah dengan panjang Tidak Ada, yang mengarah ke Kesalahan Server Internal: TypeError: objek tipe 'NoneType' tidak memiliki len ()
Solusi saya hanya menampilkan 0 jika objek Tidak Ada dan menghitung panjang jenis lainnya, seperti daftar dalam kasus saya:
sumber