首頁 >後端開發 >Python教學 >如何在 Django 模板中使用動態鍵存取字典值?

如何在 Django 模板中使用動態鍵存取字典值?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-09 07:07:06608瀏覽

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

在Django 模板中使用動態鍵存取字典值

Django 模板提供了一種使用字典的便捷方法,使開發人員能夠使用以下方式存取值點符號(例如,{{ mydict.key1}})。但是,當鍵是循環變數時,例如提供的範例中的 item.NAME,直接存取字典值就會出現問題。

解決方案:利用自訂模板過濾器

為了克服這一挑戰,Django 提供了定義自訂模板過濾器的功能,以擴展模板系統的功能。這是一個過濾器,可讓您使用變數鍵來尋找字典值:

# import the necessary modules
from django.template.defaulttags import register

# define the custom template filter
@register.filter
def get_item(dictionary, key):
    return dictionary.get(key)

get_item 過濾器使用 get 方法從給定字典中檢索與提供的鍵對應的值。如果在字典中找不到該鍵,get_item 將傳回 None 而不是引發 KeyError。

模板中的用法

要使用自訂過濾器,只需透過管道傳遞字典及其變數鍵,如下所示:

{{ mydict|get_item:item.NAME }}

在此範例中,mydict 是包含鍵值對,item.NAME 是變數鍵。 get_item 過濾器將使用鍵 item.NAME 在 mydict 中尋找值並傳回對應的值。

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

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