如何在django模板中获取键值?

时间:2011-09-22 07:53:51

标签: python django

Django模板系统 - 如何从密钥中获取python字典值?

我有两个字典代表不同的数据,但都有相同的密钥,以便我能够从同一个密钥访问不同的数据。

第一个词是:

{**'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}}

第二本词典是:

 {**'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}} 

在django模板上,我正在使用...

{% 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 %}

但是第二本字典没有打印。

2 个答案:

答案 0 :(得分:51)

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 %}

答案 1 :(得分:9)

鉴于字典:

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

您可以使用{{ mydict1.papa.name }}

访问密钥中的值

如果知道直接使用模板中的密钥(如果它包含使用空格或特殊字符),您可以更改结构(就像我刚刚为示例所做的那样)或创建custom templatetag/filter,您可以使用{{3}} 1}}。

如果您想要一个完整的过滤器示例,请告诉我。