循环遍历列表/词典django模板

时间:2016-05-06 01:54:41

标签: python django

my view.
teamname_list = team.objects.values('teamName')

in my template template html
{{teamname_list}}

outputs:
[{'teamName': "['Paul', 'John']"}]
---------------------------------------------------
alternatively values instead of values_list
view
teamname_list = team.objects.values('teamName')
in template
{{teamname_list}}
output:
[("['Paul', 'John']",)]

有没有办法循环通过teamname_list来单独获取字符,所以在html页面上显示为Paul和John,将其视为自己的字符串,甚至生成一个列表,以便循环遍历它们并将它们添加到无序列表中即

* paul
* john

现在尝试了几个小时,似乎无法正常工作,尝试了除过滤器之外的所有可能的解决方案,因为我似乎遇到了使用它们的问题。还有其他解决方案吗?

3 个答案:

答案 0 :(得分:0)

您可以在django模板中使用for loop。例如:

<ul>
  {% for teamname in teamname_list %}
    <li>{{ teamname }}</li>
  {% endfor %}
</ul>
编辑:我没有意识到你的列表实际上只有一个值。尝试为初学者做这个:

teamname_list = team.objects.all()

答案 1 :(得分:0)

teamname_list = team.objects.values_list('teamName', flat=True)

这将返回名称列表。在模板和显示名称中使用一个for循环。

<ul>
  {% for teamname in teamname_list %}
    <li>*{{ teamname }}</li>
  {% endfor %}
</ul>

答案 2 :(得分:0)

teamname_list = team.objects.all()

HTML代码

<ul>
  {% for name in teamname_list %}
    <li>{{ name.teamName }}</li>
  {% endfor %}
</ul>

请分享您的模型以获得更多说明