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

32 投票
3 回答
66559 浏览
提问于 2025-04-17 02:49

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

但是第二个字典没有打印出来。

3 个回答

1

dic_1 是一个字典,也就是一种用来存储数据的方式。我们需要获取字典里的键和对应的值。

我们可以通过循环的方式来获取这些键和值,方法如下:

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

给定这个字典:

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

你可以通过 {{ mydict1.papa.name }} 这种方式来获取对应键的值。

如果你直接在模板中使用键,而这个键里包含空格或者特殊字符,你可以选择改变你的结构(就像我在例子中做的那样),或者创建一个自定义模板标签/过滤器,这样你就可以用 {{ mydict1|get_key:"Papa, Joey C"}} 的方式来获取值。

如果你想要一个完整的过滤器示例,随时告诉我。

67

在编程中,有时候我们会遇到一些问题,可能是因为代码写得不够好,或者是我们对某些概念理解得不够透彻。这种情况下,大家通常会去一些技术论坛,比如StackOverflow,寻求帮助。

在这些论坛上,很多人会提出他们遇到的具体问题,并希望其他人能给出解决方案。通常,回答者会根据自己的经验,提供一些建议或者代码示例,帮助提问者解决问题。

有时候,问题的解决方案可能涉及到一些编程的基本概念,比如变量、循环、条件判断等。对于刚入门的编程小白来说,理解这些基础知识是非常重要的,因为它们是编写程序的基石。

总之,编程的学习过程就是不断地提问和解决问题的过程。通过阅读别人的问题和答案,我们可以学到很多实用的知识和技巧。

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

撰写回答