Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django模板上的JSON_Python_Json_Django_Python 3.x_Django Templates - Fatal编程技术网

Python Django模板上的JSON

Python Django模板上的JSON,python,json,django,python-3.x,django-templates,Python,Json,Django,Python 3.x,Django Templates,在制作网站时,我遇到了一个问题。我将从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,

在制作网站时,我遇到了一个问题。我将从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>

{名称中的名称为%}
{{data.name}
{%endfor%}

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

您可以直接迭代
数据,如下所示:

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

{个人为%,数据在data.items%}
{{person}}-{{data}}
{%endfor%}
在python中以同样的方式在
dictionary.items()
中迭代
key
value


因此,现在您不需要向上下文传递额外的名称列表。

您可以直接迭代
数据,如下所示:

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

{个人为%,数据在data.items%}
{{person}}-{{data}}
{%endfor%}
在python中以同样的方式在
dictionary.items()
中迭代
key
value


因此,现在您不需要向上下文传递额外的名称列表。

这不起作用,Django将始终interpet
name
作为文本键“name”。明白了,@danielrosemannat不起作用,Django将始终interpet
name
作为文本键“name”。明白了,@DanielRoseman