Python 我的for循环不';我得不到价值观
以下是我所拥有的:Python 我的for循环不';我得不到价值观,python,django,Python,Django,以下是我所拥有的: result = defaultdict(<type 'list'>, {'USA': [{'username': 'user123', 'first-name': 'John', 'last-name': 'Doe'}], 'Europe': [{'username': 'myname654', 'first-name': 'Peter', 'last-name': 'Johnson'}] }) result=defaultdict(, {'USA':[{'
result = defaultdict(<type 'list'>,
{'USA': [{'username': 'user123', 'first-name': 'John', 'last-name': 'Doe'}],
'Europe': [{'username': 'myname654', 'first-name': 'Peter', 'last-name': 'Johnson'}]
})
result=defaultdict(,
{'USA':[{'username':'user123','first name':'John','last name':'Doe'}],
“欧洲”:[{'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>
美国
用户123,无名氏
欧洲
我的名字654,彼得·约翰逊
我尝试了很多不同的for循环,但都不起作用
这是我的,但它不起作用
{% for item in result %}
<h1> {{ item }} </h1>
<p> {{ result.item.username }} </p>
{% endfor %}
{result%]中项目的%
{{item}}
{{result.item.username}
{%endfor%}
您正在使用print
在for循环中获取输出。这首先将对象转换为字符串。显然,本例中的对象是某种xml/html对象
从Django模板内部,不打印。您可以尝试通过str()
调用将对象转换为字符串,但总的来说,我觉得您试图让模板做一些您不应该首先制作模板的事情
尝试在模型对象上使用一个返回所需字符串的方法,并将其插入模板中。我认为行:
<p> {{ result.item.username }} </p>
{{result.item.username}
应该是:
<p> {{ result.item.0.username }} </p>
{{result.item.0.username}
结果是一个字典。在mydict中用x的遍历字典只给出键,而不是值。所以您需要执行{%for item,value in mydict.items%}
其次,{{result.item.username}
毫无意义item
是将键的值输入到result
dict中的一个函数,但不能在Django模板中进行这种间接查找。然而,幸运的是,value
变量中有这个值
第三,正如Kabie指出的,每个值实际上都是一个元素列表。因此,您需要访问该列表中的第一项,然后访问该列表中的用户名
成员
总而言之:
{% for item, value in result.items %}
<h1> {{ item }} </h1>
<p> {{ value.0.username }} </p>
{% endfor %}
{item的%result.items%中的值]
{{item}}
{{value.0.username}
{%endfor%}
能否向我们展示您尝试用于for循环的代码?什么是for循环?这毫无疑问。这怎么不起作用?提供错误?(如果是,什么?)或者只是不输出您期望的内容?诚然,我不认识django,所以也许我错过了什么。然而,在我看来,您提供的for循环不会打印出您期望的所有结果。也许你为了简洁而遗漏了一些代码,也许这就是问题所在。请考虑显示更多代码,甚至没有提供错误。为了消除一些混淆,我提供了我当前在模板中使用的for循环。