具有复杂for循环的html中的表填充

时间:2015-11-11 14:47:10

标签: django django-templates

为什么这不起作用:

    {% for a,b,c,d,e in test1,test2,test3,test4,test5 %}
        <tr> 
          <td>{{a}}</td>
          <td>{{b}}</td>
          <td>{{c}}</td>
          <td>{{d}}</td>
          <td>{{e}}</td>
        </tr>
    {% endfor %}

我这样做错了,或者这不是应该怎么做这个任务的?

我收到错误:

Could not parse the remainder: ',test2,test3,test4,test5' from 'test1,test2,test3,test4,test5'

我的观点是这样的:

def jobs(request):

test1 = range(10)
test2 = range(10)
test3 = range(10)
test4 = range(10)
test5 = range(10)

context ={

    "test1":test1,
    "test2":test2,
    "test3":test3,
    "test4":test4,
    "test5":test5,
}
return render(request,"jobs.html",context)

我想要一个显示工作号码,客户端等的表格。我现在只是用简单的范围执行测试,看看这是否适用于概念。但是我没有让它发挥作用。

因此,在生产中,test1可能等于test1 = ['Job 1','Job 2','Job 3']等列表

1 个答案:

答案 0 :(得分:0)

在制作中,我希望你有一个实际代表你试图显示的数据的对象模型,然后迭代所述模型的列表或查询集只是一个非常简单的任务。

在您目前的情况下,您可以使用混合的自定义模板标记(getrange下面使用的def index(value, arg): return value[arg] {% with len=test1|length %} {% for i in len|getrange %} <tr> <td>{{test1|index:i}}</td> <td>{{test2|index:i}}</td> <td>{{test3|index:i}}</td> <td>{{test4|index:i}}</td> <td>{{test5|index:i}}</td> </tr> {% endfor %} {% endwith %}

{{1}}

现在我希望你能看到上面的令人难以置信的丑陋,应该在第一时间被解雇到太阳下。

相反,请创建一个代表数据的实际模型。