如何在页面中自动增加结果?

时间:2019-01-30 00:19:34

标签: python django

我做了这张桌子,但我不知道如何进行编号。我想要一个前十名的列表,然后从数据库中获取所有数据。我本质上是想让它显示“ 1”,下一个“ 2”和下一个“ 3”,依此类推。我该怎么做?

https://imgur.com/a/9Isf941

def home(请求):     straatData = data.objects.all()[:10]

count = data.objects.count()
numbers = []

for dataCount in range(1, count + 1):
    numbers.append(dataCount)

context = {
    'data': straatData,
    'count': numbers,
}

return render(request, 'home.html', context)

我需要得到最高的数字以显示1,2,3,4 ...与结果一样多。但是我不知道怎么做

2 个答案:

答案 0 :(得分:1)

您不需要为此设置上下文变量。您可以在模板代码中使用forloop.counter

{% for item in data %}
<tr>
   <td> {{ foorlop.counter }} </td>
   <td> {{ item }} </td>
</tr>
{% endfor %}

如果要从0开始计数,请使用forloop.counter0

答案 1 :(得分:0)

也许您应该使用jinja来循环渲染表格?

在您的html中:

{% for num in count %}
<tr>
   <td> {{ num }} </td>
   <td> {{ data[num][0] }} </td>
   <td> {{ data[num][1] }} </td>
   <!-- Im not sure how your data is formatted! -->
</tr>
{% endfor %}

没有看到您的html,很难知道您当前如何渲染表格。