Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.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 html模板遍历字典项_Python_Django - Fatal编程技术网

Python 从Django html模板遍历字典项

Python 从Django html模板遍历字典项,python,django,Python,Django,我是Django的新手,喜欢先学习基础知识。我在寻找一个关于从模板迭代字典的答案。有两个问题与我的问题类似,但没有人提到最简单和有效的方法。然而,由于我没有足够的声誉,我不能发表评论。因此,我在这里创建了这个,因为我真的希望看到它 示例:假设我们在def inside views.py中创建字典,如下所示: def主页(请求): person={“name”:“Saif”,“Phone”:111111111} 上下文={“person”:person.items} 返回呈现(请求'home.ht

我是Django的新手,喜欢先学习基础知识。我在寻找一个关于从模板迭代字典的答案。有两个问题与我的问题类似,但没有人提到最简单和有效的方法。然而,由于我没有足够的声誉,我不能发表评论。因此,我在这里创建了这个,因为我真的希望看到它

示例:假设我们在def inside views.py中创建字典,如下所示:

def主页(请求):
person={“name”:“Saif”,“Phone”:111111111}
上下文={“person”:person.items}
返回呈现(请求'home.html',上下文)
然后以home.html为例,我们可以轻松迭代:

    {% block body %}

      {% for key, value in person %}
        <p>{{ key }}:{{ value }}</p>
      {% endfor %}

    {% endblock %}
{%block body%}
{键为%s,值为person%}
{{key}}:{{value}

{%endfor%} {%endblock%}
我尝试了其他的答案,但都不管用,而这一个对我来说很管用


谢谢,

在您的示例中,您将函数(不是调用函数的结果)分配给键

>>person={“name”:“Saif”,“Phone”:111111111}
... 上下文={“person”:person.items}
>>>打印(上下文)
{'person':}
您可以通过调用此函数来解决此问题:

person = {"name": "Saif", "Phone": 111111111}
context = {"person": person.items()}

print(context)
{'person': dict_items([('name', 'Saif'), ('Phone', 111111111)])}
(^请注意,我们将
()
添加到方法中,这意味着我们调用它)

之后,home.html应该按原样工作

{% block body %}

  {% for key, value in person %}
    <p>{{ key }}:{{ value }}</p>
  {% endfor %}

{% endblock %}
在html模板中,您现在可以选择如何遍历字典

同时按键和值:

{% for key, value in person.items() %}
    <p>{{ key }}:{{ value }}</p>
{% endfor %}
{%用于键,值为person.items()%}
{{key}}:{{value}

{%endfor%}
或者只按键:

{% for key in person %}
    <p>{{ key }}:{{ person[key] }}</p>
{% endfor %}
{%用于输入个人%}
{{key}}:{{person[key]}

{%endfor%}
这是我以前尝试过的,但我什么也没得到。@SaifAlabachi我更新了我的答案,请检查一下。这应该会有帮助