【问题标题】:JSON on Django templateDjango 模板上的 JSON
【发布时间】:2018-08-11 13:24:59
【问题描述】:

在制作网站时,我遇到了一个问题。我将 views.py 中的 JSON 数据发送到我的模板,以打印 JSON 数据中的每个属性值,但显示的数据为空。

data = {
    "philip": {"age": 20, "salary": 10000},
    "jerry": {"age": 27, "salary": 30000}
}    

names = ["philip", "jerry"]

return render(request, 'index.html', {'data': data, 'names': names})

我将 JSON 数据中的名称存储在一个列表中,并将数据和名称都发送到模板。

<div class="col-sm-3">
    {% for name in names %}
        {{ data.name }}
    {% endfor %}
</div>

我想获取与每个名称关联的值。

【问题讨论】:

  • 那行不通,Django 将始终将name 解释为文字键“名称”。
  • 知道了,@DanielRoseman

标签: python json django python-3.x django-templates


【解决方案1】:

您可以直接遍历data,如下所示:

<div class="col-sm-3">
    {% for person, data in data.items %}
        {{ person }} - {{ data }} <br>
    {% endfor %}
</div>

在 python 中迭代 dictionary.items() 中的 keyvalue 时,您也可以在模板中遵循相同的方式。

所以现在您不需要将额外的名称列表传递给上下文。

【讨论】:

    猜你喜欢
    • 2018-10-02
    • 2016-04-19
    • 1970-01-01
    • 2015-12-10
    • 2011-09-11
    • 2020-05-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多