Django模板问题

时间:2009-12-30 15:03:11

标签: python django django-templates

如何使用Django模板系统实现此目的:

假设我有2个变量传递给模板系统:

days=[1,2,3,4,5]
items=[ {name:"apple,day:3},{name:"orange,day:5} ]

我希望输出如表:

        1   2    3    4    5
apple   n   n    y    n    n
orange  n   n    n    n    y

你可以注意到,给不匹配的“n”和匹配的“y”。

3 个答案:

答案 0 :(得分:6)

为什么不在django视图中定义这个逻辑,然后简单地将Ys和Ns的数组传递给模板?

答案 1 :(得分:6)

这是伊格纳西奥的意思。也就是说,我可能同意丹尼尔你应该在视图中这样做。

<table>
{% for item in items %}
  <tr>
    <td>{% item.name %}</td>
    {% for dday in days %}
    <td>
      {% ifequal dday item.day %}y{% else %}n{% endifequal %}
    </td>
    {% endfor %}
  </tr>
{% endfor %}
</table>

我已将天数循环变量'dday'调用,以明确此处的查找item.day实际上是item['day']

答案 2 :(得分:2)

两个循环。外部循环通过items,内部通过days。测试outer[day]是否等于inner,如果是,则输出y,如果不是,则输出n