Maison > développement back-end > Tutoriel Python > Comment accéder aux valeurs du dictionnaire avec des clés dynamiques dans les modèles Django ?

Comment accéder aux valeurs du dictionnaire avec des clés dynamiques dans les modèles Django ?

Mary-Kate Olsen
Libérer: 2024-12-09 07:07:06
original
627 Les gens l'ont consulté

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

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)
Copier après la connexion

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 }}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal