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

Django项目中用Bootstrap5展示国家API JSON数据的货币字段问题

解决Django模板中展示Rest Countries API货币数据的问题

问题分析

Rest Countries API返回的currencies字段是键为货币代码、值为货币详情的字典,每个国家的货币代码不同(比如USD、EUR),硬编码指定货币代码会产生冗余,需要动态遍历这个字典来获取数据。

解决方法

在Django模板中,通过{% for %}循环遍历currencies字典的items,即可动态取出每个货币的名称和代码:

Bootstrap 5卡片内的模板代码示例

<div class="card mb-3">
  <div class="card-body">
    <h5 class="card-title">{{ x.name.common }}</h5>
    <p class="card-text">首都: {{ x.capital.0 }}</p>
    <!-- 动态渲染货币信息 -->
    <p class="card-text">
      货币: 
      {% for code, currency in x.currencies.items %}
        {{ currency.name }} ({{ code }})
        {% if not forloop.last %}, {% endif %}
      {% endfor %}
    </p>
  </div>
</div>

之前尝试无效的原因

  • x.currencies.items()需要配合Django模板的{% for %}循环使用,不能直接输出;
  • x.currencies.values()能拿到货币详情列表,但无法获取对应的货币代码;
  • x.currencies[1]无效是因为字典按键存储,不支持数字索引访问。

补充说明

如果部分国家存在多种货币,上述代码会自动用逗号分隔所有货币信息;若只有一种货币,则仅显示单个条目,完全适配API返回的各种情况。

内容的提问来源于stack exchange,提问作者Roelof Planet

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 07:27:08