You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Django模板中通过dict1的键获取dict2对应值的实现问题

在Django模板中通过dict1的键获取dict2对应值的实现问题

嘿,我来帮你搞定这个问题!你遇到的其实是Django模板语法的一个小坑——你写的{{ dict2.key }}是在访问dict2里字面量为"key"的键,而不是循环中那个名为key的变量,所以自然拿不到对应的值啦。

下面给你两种靠谱的解决方法:

方法一:使用字典的get()方法(推荐)

这个方法最安全,就算某个key在dict2里不存在,也不会报错,还能设置默认值兜底:

{% for key, value in dict1.items %}
    {{ dict2.get(key) }}
    <!-- 如果想给不存在的key加默认值,可以写成这样 -->
    <!-- {{ dict2.get(key, '暂无数据') }} -->
{% endfor %}

方法二:使用索引语法

如果能百分百保证dict1的所有key都存在于dict2中,也可以直接用索引访问:

{% for key, value in dict1.items %}
    {{ dict2[key] }}
{% endfor %}

不过要注意,如果某个key在dict2里找不到,这种方式会直接抛出KeyError导致模板渲染失败,所以不如get方法稳妥。

至于你问的“两个字典是不是总是同长度”——如果这两个字典是你自己生成、能严格保证对应关系的,那长度会一致;但如果是从数据库、第三方接口这类外部来源获取的,最好在视图层先做个长度校验(比如len(dict1) == len(dict2)),或者在模板里用get方法兜底,避免出现异常。

备注:内容来源于stack exchange,提问作者Abhi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 06:59:04