如何将 Json 数据显示到 Django 模板?
Posted
技术标签:
【中文标题】如何将 Json 数据显示到 Django 模板?【英文标题】:How to show Json data to Django template? 【发布时间】:2021-10-08 07:26:45 【问题描述】:我将 JSON 数据存储到 TextField : TextField 中的数据:
["id":1,"Name":"AC","Quantity":"12","Weight":"200","WeightTypes":"KG",
"TotalWeight":"2400","CustomsCharge":"300.0","Subtotal":"3600",
"id":2,"Name":"Soap","Quantity":"12","Weight":"500",
"WeightTypes":"GRAM","TotalWeight":"6","Customs Charge":"0.0","Subtotal":"12"]
我在 view.py: 中使用 产品 = json.loads(数据)
之后,我尝试在 Django 模板
中显示每个项目% for p in products %
% for key, value in p.items %
<tr>
<td>value.id</td>
<td>value.Name</td>
<td>value.Quantity</td>
<td>value.CustomsCharge</td>
<td>value.Subtotal</td>
</tr>
% endfor %
% endfor %
但它不起作用! 如何从这个 Jason 字段中获取每个值?
提前谢谢你。
【问题讨论】:
不工作是什么意思?解释一下发生了什么。 好吧,实际上如果我使用<td>value</td>
那么,我可以获得所有的价值。但是,如果我想看到使用<td>value.Name</td>
仅获取 Name 或仅获取 CustomsCharges 则没有价值。我愿意获取特定的价值。
【参考方案1】:
我认为您将数据解析为模板是错误的。基本上你不需要使用p.items
,因为它会解压你原来的dict items值,同时你只需要直接调用产品循环。
% for p in products %
<tr>
<td> p.id </td>
<td> p.Name </td>
<td> p.Quantity (pcs)</td>
<td> p.Weight </td>
<td> p.WeightTypes </td>
<td> p.TotalWeight </td>
<td> p.CustomsCharge </td>
<td> p.Subtotal </td>
</tr>
% endfor %
【讨论】:
以上是关于如何将 Json 数据显示到 Django 模板?的主要内容,如果未能解决你的问题,请参考以下文章