Django 範本:使用變數鍵存取字典值
使用點運算子存取Django 範本中的字典值非常簡單,即{{ mydict.key }}。然而,當鍵本身是一個變數時,特別是當它是循環變數的屬性時,就會出現挑戰。
問題:
考慮以下情況:
mydict = {"key1":"value1", "key2":"value2"} {% for item in list %} {{ mydict.item.NAME }} # Attempt to look up mydict[item.NAME] {% endfor %}
這裡是 mydict.item.NAME 語法失敗。
解決方案:
要解決此問題,您可以建立自訂範本篩選器:
from django.template.defaulttags import register @register.filter def get_item(dictionary, key): return dictionary.get(key)
請注意get()使用方法而不是字典[key]來處理鍵不存在的情況(傳回None 而不是引發KeyError)。
用法:
註冊過濾器後,您可以使用變數鍵存取字典值,如下所示:
{{ mydict|get_item:item.NAME }}
以上是如何在 Django 模板中使用變數鍵存取字典值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!