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

Django遍历请求返回的余额数据并在HTML模板表格中展示

实现步骤

1. 先修正视图代码(处理字节转字典+修正拼写错误)

你当前有两处需要先修复的问题:

  • 导入的变量名为b2c2_response_content,你上下文里拼写错误为b2c2_reponse_content(缺失字母s)
  • 变量存储的是bytes类型的JSON字符串,无法直接在模板中遍历,需要先解析为Python字典

修正后的视图代码如下:

import json
from .api_balances.b2c2 import b2c2_response_content

def b2c2(request):
    """ A view to return b2c2 page """
    # 解析bytes类型的JSON为Python字典
    balance_dict = json.loads(b2c2_response_content)
    context = {
        'balance_dict': balance_dict,
    }
    return render(request, 'home/b2c2.html', context)

2. 编写b2c2.html模板代码

使用Django模板的for循环遍历字典的键值对生成表格即可,示例代码如下:

<table border="1" cellpadding="8" cellspacing="0">
  <thead>
    <tr>
      <th>币种</th>
      <th>余额</th>
    </tr>
  </thead>
  <tbody>
    {% for currency, amount in balance_dict.items %}
    <tr>
      <td>{{ currency }}</td>
      <td>{{ amount }}</td>
    </tr>
    {% endfor %}
  </tbody>
</table>

可选优化

  • 若需要过滤掉余额为0的币种,可在循环中增加判断:
{% for currency, amount in balance_dict.items %}
{% if amount != "0" %}
<tr>
  <td>{{ currency }}</td>
  <td>{{ amount }}</td>
</tr>
{% endif %}
{% endfor %}
  • 若需要统一格式化余额的小数位数,可使用Django自带的floatformat模板过滤器:
<td>{{ amount|floatformat:2 }}</td>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 20:45:08