我创建了一个字典,并将其传递给我的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 %}
答案 0 :(得分:1)
首先,您需要创建一个Context对象并将其传递给render函数。请参阅documentation
中的此示例其次,为了使您的代码按照我认为您的意图工作...您实际上需要在所拥有的内容之上添加另一个图层,以便您可以在模板中引用my_dict
t.render(Context({'my_dict': {'boo': {'id':'42'}, 'hi': {'id':'42'}}}))
答案 1 :(得分:1)
true
您的上下文有两个键,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 }}