2012-11-19 31 views
0

我想打印我的所有用户和他们的组模板的信息,像这样:打印用户群体

 {% 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.如何打印这样的群体:

1组,第2组,第3组

代替

1组,第2组,第3组, (最后一个逗号是错的)

非常感谢。

回答

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 %} 

退房从官方文档以下链接了解更多有关内建for循环变量:https://docs.djangoproject.com/en/dev/ref/templates/builtins/#for

3

你应该改变

{% for group in user.groups.all %} 
{{group}} 
+0

谢谢,它的工作原理!你有任何想法列举? –