Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengakses Nilai Kamus dengan Kekunci Pembolehubah dalam Templat Django?
Templat Django: Mengakses Nilai Kamus dengan Kekunci Pembolehubah
Mengakses nilai kamus dalam templat Django adalah mudah menggunakan operator titik, iaitu {{ mydict.key }}. Walau bagaimanapun, cabaran timbul apabila kunci itu sendiri adalah pembolehubah, terutamanya apabila ia merupakan sifat pembolehubah gelung.
Masalah:
Pertimbangkan situasi berikut:
mydict = {"key1":"value1", "key2":"value2"} {% for item in list %} {{ mydict.item.NAME }} # Attempt to look up mydict[item.NAME] {% endfor %}
Di sini, sintaks mydict.item.NAME gagal.
Penyelesaian:
Untuk menyelesaikan isu ini, anda boleh mencipta penapis templat tersuai:
from django.template.defaulttags import register @register.filter def get_item(dictionary, key): return dictionary.get(key)
Perhatikan bahawa get() kaedah digunakan dan bukannya kamus[kunci] untuk mengendalikan kes di mana kunci tidak hadir (memulangkan Tiada dan bukannya menaikkan KeyError).
Penggunaan:
Setelah penapis didaftarkan, anda boleh mengakses nilai kamus menggunakan kekunci berubah seperti berikut:
{{ mydict|get_item:item.NAME }}
Atas ialah kandungan terperinci Bagaimana untuk Mengakses Nilai Kamus dengan Kekunci Pembolehubah dalam Templat Django?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!