首頁 >後端開發 >Python教學 >如何在 Django 模板中使用循環變數作為鍵來存取字典值?

如何在 Django 模板中使用循環變數作為鍵來存取字典值?

DDD
DDD原創
2024-12-02 21:26:12408瀏覽

How to Access Dictionary Values Using Loop Variables as Keys in Django Templates?

Django 範本變數字典值查找

在Django 範本中,使用語法{{ mydict.key1 }} 或{{ mydict.key2 } 存取字典值非常簡單}。然而,當循環變數作為字典鍵處理時,傳統方法會失敗。

考慮以下場景:

mydict = {"key1":"value1", "key2":"value2"}

{% for item in list %}
  {{ mydict.item.NAME }}  # This fails
{% endfor %}

在上面的程式碼中,item.NAME 作為循環變數屬性名稱。但是,mydict.item.NAME 無法提供所需的結果。

為了克服這個挑戰,可以建立自訂模板過濾器:

from django.template.defaulttags import register
...
@register.filter
def get_item(dictionary, key):
    return dictionary.get(key)

get_item 過濾器利用 .get () 方法檢索與指定鍵關聯的值。這確保如果鍵不存在,它會傳回 None 而不是引發 KeyError。

要使用篩選器,請修改範本程式碼如下:

{{ mydict|get_item:item.NAME }}

以上是如何在 Django 模板中使用循環變數作為鍵來存取字典值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn