Heim > Backend-Entwicklung > Python-Tutorial > Wie greife ich mit dynamischen Schlüsseln in Django-Vorlagen auf Wörterbuchwerte zu?

Wie greife ich mit dynamischen Schlüsseln in Django-Vorlagen auf Wörterbuchwerte zu?

Mary-Kate Olsen
Freigeben: 2024-12-09 07:07:06
Original
614 Leute haben es durchsucht

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

Zugriff auf Wörterbuchwerte mit dynamischen Schlüsseln in Django-Vorlagen

Django-Vorlagen bieten eine bequeme Möglichkeit, mit Wörterbüchern zu arbeiten, und ermöglichen Entwicklern den Zugriff auf Werte mithilfe von die Punktnotation (z. B. {{ mydict.key1}}). Wenn der Schlüssel jedoch eine Schleifenvariable ist, wie etwa item.NAME im bereitgestellten Beispiel, wird der direkte Zugriff auf den Wörterbuchwert problematisch.

Lösung: Verwendung benutzerdefinierter Vorlagenfilter

Um diese Herausforderung zu meistern, bietet Django die Möglichkeit, benutzerdefinierte Vorlagenfilter zu definieren, die die Funktionalität des Vorlagensystems erweitern. Hier ist ein Filter, mit dem Sie Wörterbuchwerte mit variablen Schlüsseln nachschlagen können:

# 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)
Nach dem Login kopieren

Der get_item-Filter verwendet die get-Methode, um den Wert abzurufen, der dem bereitgestellten Schlüssel aus dem angegebenen Wörterbuch entspricht. Wenn der Schlüssel nicht im Wörterbuch gefunden wird, gibt get_item None zurück, anstatt einen KeyError auszulösen.

Verwendung in Vorlagen

Um den benutzerdefinierten Filter zu verwenden, leiten Sie ihn einfach weiter Wörterbuch und den Variablenschlüssel dazu, wie unten gezeigt:

{{ mydict|get_item:item.NAME }}
Nach dem Login kopieren

In diesem Beispiel ist mydict das Wörterbuch, das die enthält Schlüssel-Wert-Paare und item.NAME ist der variable Schlüssel. Der get_item-Filter sucht den Wert in mydict mithilfe des Schlüssels item.NAME und gibt den entsprechenden Wert zurück.

Das obige ist der detaillierte Inhalt vonWie greife ich mit dynamischen Schlüsseln in Django-Vorlagen auf Wörterbuchwerte zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage