Django-Vorlagen: Zugriff auf Wörterbuchwerte mit variablen Schlüsseln
Der Zugriff auf Wörterbuchwerte in Django-Vorlagen ist mit dem Punktoperator unkompliziert, d. h. {{ mydict.key }}. Es treten jedoch Herausforderungen auf, wenn der Schlüssel selbst eine Variable ist, insbesondere wenn er eine Eigenschaft einer Schleifenvariablen ist.
Problem:
Stellen Sie sich die folgende Situation vor:
mydict = {"key1":"value1", "key2":"value2"} {% for item in list %} {{ mydict.item.NAME }} # Attempt to look up mydict[item.NAME] {% endfor %}
Hier die Syntax von mydict.item.NAME schlägt fehl.
Lösung:
Um dieses Problem zu beheben, können Sie einen benutzerdefinierten Vorlagenfilter erstellen:
from django.template.defaulttags import register @register.filter def get_item(dictionary, key): return dictionary.get(key)
Beachten Sie, dass get() Die Methode wird anstelle von dictionary[key] verwendet, um den Fall zu behandeln, in dem der Schlüssel fehlt (es wird None zurückgegeben, anstatt a auszulösen Schlüsselfehler).
Verwendung:
Sobald der Filter registriert ist, können Sie mithilfe von Variablenschlüsseln wie folgt auf Wörterbuchwerte zugreifen:
{{ mydict|get_item:item.NAME }}
Das obige ist der detaillierte Inhalt vonWie greife ich mit variablen Schlüsseln in Django-Vorlagen auf Wörterbuchwerte zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!