32 votes

Comment obtenir la valeur d'une clé dans un modèle django ?

Système de modèles Django - comment obtenir la valeur d'un dictionnaire python à partir d'une clé ?

J'ai deux dictionnaires qui représentent des données différentes mais qui ont tous deux la même clé, de sorte que je puisse accéder à des données différentes à partir de la même clé.

La première dictée est :

{**'Papa, Joey C'**: {'Office Visit Est Pt Level 3 (99213)': 32, 'LAP VENTABD HERNIA
 REPAIR (49652)': 2, 'INSERT TUNNELED CV CATH (36561)': 4, 'Office Visit New Pt
Level 2 (99202)': 4, 'PUNCTURE/CLEAR LUNG (32420)': 1, 'REPAIR SUPERFICIAL WOUND
S (12011)': 1, 'DEBRIDE SKINTISSUE (11042)': 29, 'Office Visit New Pt Level 3 (9
9203)': 11, 'IDENTIFY SENTINEL NODE (38792)': 2, 'MAST MOD RAD (19307)': 1, 'EXC
 FACE LES SC < 2 CM (21011)': 1, 'ACTIVE WOUND CARE20 CM OR (97597)': 4, 'RPR UM
BIL HERN, REDUC > 5 YR (49585)': 3, 'REMOVE LESION BACK OR FLANK (21930)': 2}}

Le deuxième dictionnaire est :

 {**'Papa, Joey C'**: {'10140': 1, '10061': 1, '99214': 1, '99215': 1, '12011': 1, '97606': 1, '49080': 1, '10120': 1, '49440': 1, '49570': 1}, 'Bull, Sherman M': {'99211': 1, '99214': 1, '99215': 1, '99231': 1, '99236': 1, '12051': 1, '15004':1, '47100': 1, '15430': 1, '15431': 1}} 

Sur le modèle django, j'utilise...

{% for key1,value1 in mydict.items %}
<br><br>
<br><br>
<table border="1"><tr><td>Provider Name</td><td width="70%">{{key1}}</td></tr></table>
<br><br>
<table class="report_by_provider"><thead><tr><th>CPT Discription</th><th>Total</th></tr></thead>
<tbody>
{% for key2,val2 in value1.items %}
<tr>
<td>{{key2}}</td>
<td>{{val2}}</td>
</tr>
{% endfor %}
</tbody>
</table>

<table class="report_by_provider"><thead><tr><th>CPT Code</th><th>CPT Discription</th><th>Vol</th></tr></thead>
<tbody>

{% for key3,val3 in mydict1.key1%}
{% for key,val in val3.items %}
<tr>
<td>{{key1}}</td>
<td>{{val}}</td>
<td>{{val}}</td>
</tr>
{% endfor %}
{% endfor %}

Mais le deuxième dictionnaire n'imprime pas.

65voto

Lakshman Prasad Points 24002
mydict = {'Papa, Joey C': {'10140': 1, '10061': 1, '99214': 1, '99215': 1, '12011': 1, '97606': 1, '49080': 1, '10120': 1, '49440': 1, '49570': 1}, 'Bull, Sherman M': {'99211': 1, '99214': 1, '99215': 1, '99231': 1, '99236': 1, '12051': 1, '15004':1, '47100': 1, '15430': 1, '15431': 1}}

{% for mykey,myvalue in mydict.items %}

    {{ mykey }} : {{ myvalue }}

{% endfor %}

12voto

Gaikokujin Kun Points 389

Étant donné le dictionnaire :

{'papa': {'name': 'Papa, Joey C', 'values': {'10140': 1, ...

vous pouvez accéder aux valeurs des clés en utilisant {{ mydict1.papa.name }}

Sachant utiliser directement la clé dans le modèle si elle contient des espaces ou des caractères spéciaux, vous pouvez soit modifier votre structure (comme je viens de le faire pour l'exemple), soit créer une clé de type Tag/filtre de modèle personnalisé que vous pouvez utiliser comme {{ mydict1|get_key:"Papa, Joey C"}} .

Si vous voulez un exemple complet pour un filtre, faites-le moi savoir.

1voto

dic_1 est un dictionnaire. J'ai besoin de la clé et de la valeur.

nous pouvons faire une boucle et obtenir la clé et la valeur comme ceci.

{% for key, value in dic_1.items %}
{{key}}
{{value}}
{% endfor %}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X