Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengakses Nilai Kamus dengan Kekunci Pembolehubah dalam Templat Django?

Bagaimana untuk Mengakses Nilai Kamus dengan Kekunci Pembolehubah dalam Templat Django?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-24 05:37:17508semak imbas

How to Access Dictionary Values with Variable Keys in Django Templates?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn