使用django模板语言实现更大更少

时间:2011-07-25 14:59:55

标签: django templates tags

papis

我在这里有一个词典

dict = {1: [1,2,3,4,5,6,7,8,9],
        2: [2,4,5,6,7,8,9,0],
        3: [5,2,4,6,12,3,7,6]}

我希望在我的页面上显示它 所以我使用模板如下:

    {%for item in dict.items%}
    <tr>
    <td>{{item.0}}</td>
    {%for v in item.1%}
    here ,i dont know how to handle
    if last column and v >5
    <td color = 'red'>{{v}}</td>
    else
    <td>{{v}}</td>
   {%endfor%}
</tr>
{%endfor%}

如您所见,我希望最后一列如果其值大于5

则变为红色文本

我怎么能意识到这一点,我谷歌并没有找到任何东西

感谢所有兄弟。

当我做的时候,丹尼尔说:

  {%for item in dict.items%}
    <tr>
    <td>{{item.0}}</td>
    {%for v in item.1%}
   {%if forloop.last and v > 5%}
    <td color = 'red'>{{v}}</td>
    {%else%}
     <td >{{v}}</td>
     {%endif%}
    else
    <td>{{v}}</td>
   {%endfor%}
</tr>
{%endfor%}
它告诉我错误:

Could not parse the remainder: '>5' from '>5'

Request Method:     GET
Request URL:    http://10.64.41.134:8000/monthlyinfo/
Django Version:     1.3
Exception Type:     TemplateSyntaxError
Exception Value:    

Could not parse the remainder: '>5' from '>5'

有什么问题? 再次感谢 crafet

1 个答案:

答案 0 :(得分:3)

{% if forloop.last and v > 5 %}

修改您需要一些空格。完全像我上面那样做,它解析得很好。

通常情况下,如果您在运算符周围使用PEP8样式,那么您的代码会更好 - 也更具可读性。