Maison >développement back-end >Tutoriel Python >Comment accéder aux valeurs du dictionnaire avec des clés variables dans les modèles Django ?
Modèles Django : accéder aux valeurs du dictionnaire avec des clés variables
L'accès aux valeurs du dictionnaire dans les modèles Django est simple à l'aide de l'opérateur point, c'est-à-dire {{ mydict.key }}. Cependant, des défis surviennent lorsque la clé est elle-même une variable, en particulier lorsqu'il s'agit d'une propriété d'une variable de boucle.
Problème :
Considérez la situation suivante :
mydict = {"key1":"value1", "key2":"value2"} {% for item in list %} {{ mydict.item.NAME }} # Attempt to look up mydict[item.NAME] {% endfor %}
Ici, la syntaxe mydict.item.NAME échoue.
Solution :
Pour résoudre ce problème, vous pouvez créer un filtre de modèle personnalisé :
from django.template.defaulttags import register @register.filter def get_item(dictionary, key): return dictionary.get(key)
Notez que get() est utilisée à la place de Dictionary[key] pour gérer le cas où la clé est absente (en renvoyant None au lieu de lever un KeyError).
Utilisation :
Une fois le filtre enregistré, vous pouvez accéder aux valeurs du dictionnaire à l'aide de clés variables comme suit :
{{ mydict|get_item:item.NAME }}
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!