Django模板数组的索引不存在

2024-09-29 23:18:30 发布

您现在位置:Python中文网/ 问答频道 /正文

django模板中的索引如下: {{somearray.i}} 对我的代码来说,这是行不通的!!你知道吗

这是视图.py你知道吗

def fadakpage(request):
    tours = tour.objects.order_by('tourleader')
    travelers = traveler.objects.order_by('touri')
    j=0
    for i in tours:
        j+=1
    args={'tours':tours,'travelers':travelers,'range':range(j)}
    return render(request,'zudipay/fadakpage.html',args)

这是fadakpage.html / template(它显示为空):

{% for i in range %}
      {{tours.i.tourleader}}
{% endfor %}

但是如果我把{{tours.i.tourleader}}改成{{tours.0.tourleader}}就行了!! 我也检查了我的价值观,这是真的!!你知道吗


Tags: djangoin模板forbyobjectsrequesthtml
3条回答

您将视图更改为:

def fadakpage(request):
    j = 0
    tours = []
    for i in tour.objects.order_by('tourleader'):
        tours.append((i, j))
        j += 1
    args = {'tours': tours, 'range': range(j)}
    return render(request, 'zudipay/fadakpage.html', args)

并在模板中使用元组列表:

{% for tour in tours %}
  {{ tour.0.tourleader }}
{% endfor %}

在这段代码中,模板中的{{ tour.0 }}tour对象,{{ tour.1 }}是count。你知道吗

不确定这是否正是你需要的。您可以通过使用{{ forloop.counter }}获取从1开始的循环索引,或者使用{{ forloop.counter0 }}获取从0开始的索引来获取循环计数器。你知道吗

{% for tour in tours %}
      {{ tour.tourleader }} {{ forloop.counter }}
{% endfor %}

有关详细信息,请参阅docs。你知道吗

不,事实上,这在Django模板中不起作用。但是没有理由这么做:只需循环通过tours。你知道吗

{% for tour in tours %}
      {{tour.tourleader}}
{% endfor %}

相关问题 更多 >

    热门问题