我想在模板中打印有关我所有用户及其群组的信息,如下所示:
{% for user in users %}
<tr>
<td>(there should be enumerate here - 1,2,3,4 etc...)</td>
<td>{{ user.last_name }}</td>
<td>{{ user.first_name }}</td>
<td>
{% for group in user.groups %}
{{ group }}, </td>
{% endfor %}
</tr>
{% endfor %}
但它不起作用:
'ManyRelatedManager'对象不可迭代
我还有两个问题: 的 1。如何轻松枚举用户,如下所示:
<tr>
<td>1</td>
<td>Kowalski</td>
<td>John</td>
...
</tr>
<tr>
<td>2</td>
<td>Smith</td>
<td>John</td>
...
</tr>
...
2。如何打印这样的组:
group1,group2,group3
代替
group1,group2,group3, (最后一个逗号错了)
非常感谢。
答案 0 :(得分:3)
你应该改变
{% for group in user.groups.all %}
{{group}}
答案 1 :(得分:2)
以下代码应该执行您要求的所有内容:
{% for user in users %}
<tr>
<td>{{ forloop.counter }}</td>
<td>{{ user.last_name }}</td>
<td>{{ user.first_name }}</td>
<td>
{% for group in user.groups.all %}
{{ group }}
{% if not forloop.last %},{% endif %}
{% endfor %}
</td>
</tr>
{% endfor %}
查看官方文档中的以下链接,了解有关内置forloop变量的更多信息:https://docs.djangoproject.com/en/dev/ref/templates/builtins/#for