Django 模板中的 For 循环未处理
For loop in Django template not processing
我创建了一个字典,并将其传递给我的 Django 模板:
my_dict = {'boo': {'id':'42'}, 'hi': {'id':'42'}}
t = get_template('my_site.html')
html = t.render(my_dict)
print(html)
return HttpResponse(html)
我的 Django 模板如下所示:
<html>
<body>
Out of Dictionary <div>
{% for key in my_dict %}
<span>{{ key }}</span>
{% endfor %}
</div>
After dictionary
</body>
</html>
我在浏览器中的输出如下所示:
超出字典
字典后
HTML 看起来像这样:
<html>
<body>
Out of Dictionary <div>
</div>
After dictionary
</body>
</html>
我还尝试了以下方法来识别字典:
{% for key in my_dict %}
{% for key in my_dict.items %}
{% for key, value in my_dict.items %}
{% for (key, value) in my_dict.items %}
首先你需要创建一个上下文对象并将它传递给渲染函数。请参阅 documentation
中的示例
其次,为了让您的代码按照我认为的方式工作..您实际上需要在现有内容之上添加另一层,以便您可以在模板中引用 my_dict
t.render(Context({'my_dict': {'boo': {'id':'42'}, 'hi': {'id':'42'}}}))
my_dict = {'boo': {'id':'42'}, 'hi': {'id':'42'}}
t = get_template('my_site.html')
html = t.render(my_dict)
您的上下文有两个键,boo
和 hi
。您可以按如下方式在模板中访问它们:
{{ boo }}, {{ hi }}
如果您想在模板中使用 mydict
,您可以将该字典嵌套在上下文字典中:
my_dict = {'boo': {'id':'42'}, 'hi': {'id':'42'}}
context = {'my_dict': my_dict}
t = get_template('my_site.html')
html = t.render(context)
在模板中,您可以执行以下操作:
{{ my_dict }}
或
{% for key, value in mydict.items %}
{{ key }}: {{ value }}
{% endfor %}
我创建了一个字典,并将其传递给我的 Django 模板:
my_dict = {'boo': {'id':'42'}, 'hi': {'id':'42'}}
t = get_template('my_site.html')
html = t.render(my_dict)
print(html)
return HttpResponse(html)
我的 Django 模板如下所示:
<html>
<body>
Out of Dictionary <div>
{% for key in my_dict %}
<span>{{ key }}</span>
{% endfor %}
</div>
After dictionary
</body>
</html>
我在浏览器中的输出如下所示: 超出字典 字典后
HTML 看起来像这样:
<html>
<body>
Out of Dictionary <div>
</div>
After dictionary
</body>
</html>
我还尝试了以下方法来识别字典:
{% for key in my_dict %}
{% for key in my_dict.items %}
{% for key, value in my_dict.items %}
{% for (key, value) in my_dict.items %}
首先你需要创建一个上下文对象并将它传递给渲染函数。请参阅 documentation
中的示例其次,为了让您的代码按照我认为的方式工作..您实际上需要在现有内容之上添加另一层,以便您可以在模板中引用 my_dict
t.render(Context({'my_dict': {'boo': {'id':'42'}, 'hi': {'id':'42'}}}))
my_dict = {'boo': {'id':'42'}, 'hi': {'id':'42'}}
t = get_template('my_site.html')
html = t.render(my_dict)
您的上下文有两个键,boo
和 hi
。您可以按如下方式在模板中访问它们:
{{ boo }}, {{ hi }}
如果您想在模板中使用 mydict
,您可以将该字典嵌套在上下文字典中:
my_dict = {'boo': {'id':'42'}, 'hi': {'id':'42'}}
context = {'my_dict': my_dict}
t = get_template('my_site.html')
html = t.render(context)
在模板中,您可以执行以下操作:
{{ my_dict }}
或
{% for key, value in mydict.items %}
{{ key }}: {{ value }}
{% endfor %}