如何在Django中循环遍历项目?

t0ybt7op  于 2023-03-04  发布在  Go
关注(0)|答案(2)|浏览(144)

我坚持在模板中循环我的表,并在每个表中只放4支球队。在这里,我想创建表组足球阶段。我的表_队有8支球队。所以,我想在模板循环中的表,每个表有4支球队。
那么,怎么做呢?
这是我的table

class Table_Team(models.Model):
    code = models.CharField(max_length=10, default="")
    team  = models.CharField(max_length=50)
    group = models.CharField(max_length=1)
    play = models.IntegerField(default=3)
    win   = models.IntegerField()
    draw  = models.IntegerField()
    loss  = models.IntegerField()
    goalDiff = models.IntegerField()
    points   = models.IntegerField()

这是我的模板

<div class="container">
    <div class="row">
        <div class="col-md-4 mb-3">
            <div class="ptable">
                <h1 class="headin">Standings</h1>
                <table>
                <tr class="col">
                  <th>#</th>
                  <th></th>
                  <th>Team</th>
                  <th>P</th>
                  <th>W</th>
                  <th>D</th>
                  <th>L</th>
                  <th>GD</th>
                  <th>PTS</th>
                </tr>
                <tr class="wpos">
                  <td>&nbsp;</td>
                  <td></td>
                  <td></td>
                  <td></td>
                  <td></td>
                  <td></td>
                  <td></td>
                  <td></td>
                  <td></td>
                </tr>
              </table>
            </div>
        </div>
    </div>
</div>

下面是我在www.example.com中的函数views.py

def group_index(request):
    listGroup = Table_Team.objects.all().values()
    data = {
        "listGroup" : listGroup,
    }
    template = loader.get_template('groups/index.html')
    return HttpResponse(template.render(data, request))

对不起,我的英语。我希望你明白我的意思。谢谢。

e4yzc0pl

e4yzc0pl1#

如果我理解正确,我在这些情况下使用循环,请看

{% for .... %}
    {% cycle '<tr class="wpos">' '' '' '' '' '' '' '' %}
    <td></td>
    <td></td>
    <td></td>
    {% cycle '' '' '' '' '' '' '' '</tr>' %}
{% endfor %}

Django 循环

zhte4eai

zhte4eai2#

你可以在模板中使用Django内置的chunked过滤器将你的团队列表分成4组。下面是模板的更新版本,它显示了每4个团队一组的表格:

    • 超文本标记语言**
<div class="row">
    {% for group in listGroup|divisibleby:4 %}
      <div class="col-md-4 mb-3">
        <div class="ptable">
          <h1 class="headin">Group {{ group.0.group }}</h1>
          <table>
            <tr class="col">
              <th>#</th>
              <th></th>
              <th>Team</th>
              <th>P</th>
              <th>W</th>
              <th>D</th>
              <th>L</th>
              <th>GD</th>
              <th>PTS</th>
            </tr>
            {% for team in group %}
              <tr class="wpos">
                <td>&nbsp;</td>
                <td>{{ team.code }}</td>
                <td>{{ team.team }}</td>
                <td>{{ team.play }}</td>
                <td>{{ team.win }}</td>
                <td>{{ team.draw }}</td>
                <td>{{ team.loss }}</td>
                <td>{{ team.goalDiff }}</td>
                <td>{{ team.points }}</td>
              </tr>
            {% endfor %}
          </table>
        </div>
      </div>
    {% endfor %}
  </div>

并更新您的view. py

def group_index(request):
    listGroup = Table_Team.objects.values().order_by('group')
    data = {
        "listGroup" : listGroup,
    }
    template = loader.get_template('groups/index.html')
    return HttpResponse(template.render(data, request))

相关问题