傳統上,Django 範本允許使用 {{ mydict.key1 }} 語法存取字典值。然而,當關鍵是動態循環變數時,就會出現挑戰。循環變數的屬性,例如 {{ mydict.item.NAME }},無法在模板中直接存取。
為了解決這個問題,Django 提供了定義自訂模板過濾器的機制。這些過濾器允許建立擴展模板語法的專用函數。在本例中,我們將建立一個名為 get_item 的篩選器,它將根據變數鍵從字典中檢索值。
透過使用 .get(),我們可以優雅地處理丟失鍵的可能性,返回 None 而不是引發 KeyError。
要在中使用我們的自訂get_item 過濾器一個Django 模板,包含以下語法:
此語法確保根據動態循環變數item.NAME 檢索mydict 的值。結果其實是 mydict[item.NAME]。
透過建立自訂 Django 模板過濾器,我們解鎖了使用變數鍵存取字典值的彈性。在 Django 模板中使用資料結構時,這可以實現更動態、更強大的模板邏輯。
以上是如何在 Django 模板中使用變數鍵存取字典值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!