Maison >développement back-end >Tutoriel Python >Comment accéder aux valeurs du dictionnaire avec des clés dynamiques dans les modèles Django ?
Accès aux valeurs du dictionnaire avec des clés dynamiques dans les modèles Django
Les modèles Django offrent un moyen pratique de travailler avec des dictionnaires, permettant aux développeurs d'accéder aux valeurs à l'aide de la notation par points (par exemple, {{ mydict.key1}}). Cependant, lorsque la clé est une variable de boucle, telle que item.NAME dans l'exemple fourni, l'accès direct à la valeur du dictionnaire devient problématique.
Solution : utilisation de filtres de modèles personnalisés
Pour surmonter ce défi, Django offre la possibilité de définir des filtres de modèles personnalisés qui étendent les fonctionnalités du système de modèles. Voici un filtre qui vous permet de rechercher des valeurs de dictionnaire avec des clés variables :
# 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)
Le filtre get_item utilise la méthode get pour récupérer la valeur correspondant à la clé fournie dans le dictionnaire donné. Si la clé n'est pas trouvée dans le dictionnaire, get_item renverra None au lieu de déclencher une KeyError.
Utilisation dans les modèles
Pour utiliser le filtre personnalisé, dirigez simplement le dictionnaire et la clé de la variable, comme indiqué ci-dessous :
{{ mydict|get_item:item.NAME }}
Dans cet exemple, mydict est le dictionnaire contenant la valeur-clé paires, et item.NAME est la clé variable. Le filtre get_item recherchera la valeur dans mydict à l'aide de la clé item.NAME et renverra la valeur correspondante.
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!