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'オブジェクトは反復可能ではありません

さらに2つの質問があります 。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、(最後のコンマが間違っています)

どうもありがとうございます。

4

2 に答える 2

3

変更する必要があります

{% for group in user.groups.all %}
{{group}}
于 2012-11-19T09:33:22.783 に答える
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

于 2012-11-19T09:53:24.363 に答える