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

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

DDD
發布: 2024-12-02 21:26:12
原創
406 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板