【问题标题】:How to show Json data to Django template?如何将 Json 数据显示到 Django 模板?
【发布时间】: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 字段中获取每个值?

提前谢谢你。

【问题讨论】:

  • 不工作是什么意思?解释一下发生了什么。
  • 好吧,实际上如果我使用&lt;td&gt;{{value}}&lt;/td&gt; 那么,我可以获得所有的价值。但是,如果我想看到使用&lt;td&gt;{{value.Name}}&lt;/td&gt; 仅获取 Name 或仅获取 CustomsCharges 则没有价值。我愿意获取特定的价值。

标签: python json django django-templates django-jsonfield


【解决方案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 %}

【讨论】:

    猜你喜欢
    • 2014-11-12
    • 2018-03-07
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-17
    • 2012-03-18
    相关资源
    最近更新 更多