以下是我所拥有的:
result = defaultdict(<type 'list'>,
{'USA': [{'username': 'user123', 'first-name': 'John', 'last-name': 'Doe'}],
'Europe': [{'username': 'myname654', 'first-name': 'Peter', 'last-name': 'Johnson'}]
})
这是我想得到的结果
<html>
<body>
<h1> USA </h1>
<p> user123, John Doe</p>
<h1> Europe </h1>
<p> myname654, Peter Johnson</p>
</body>
</html>
我试过很多不同的for循环,但都不起作用。你知道吗
这是我的东西,但没用。你知道吗
{% for item in result %}
<h1> {{ item }} </h1>
<p> {{ result.item.username }} </p>
{% endfor %}
结果是一本字典。用
for x in mydict
遍历字典只给出键,而不是值。所以你需要做{% for item, value in mydict.items %}
。你知道吗其次,
{{ result.item.username }}
毫无意义。item
是result
dict中键的值,但不能在Django模板中进行这种间接查找。不过,幸运的是,我们在value
变量中有这个值。你知道吗第三,正如Kabie指出的,每个
value
实际上是一个元素列表。因此,您需要访问该列表中的第一项,然后访问该列表的username
成员。你知道吗综合起来:
我认为这句话:
应该是:
您正在使用
print
在for循环中获取输出。首先将对象转换为字符串。显然,本例中的对象是某种xml/html对象。你知道吗从Django模板内部,您不能打印。您可以尝试通过
str()
调用将对象转换为字符串,但总的来说,我感觉您正在尝试让模板做一些您不应该让模板做的事情。你知道吗尝试在model对象上有一个返回所需字符串的方法,并将其插入模板中。你知道吗
相关问题 更多 >
编程相关推荐