Python Django模板问题
如何使用Django模板系统实现这一点:Python Django模板问题,python,django,django-templates,Python,Django,Django Templates,如何使用Django模板系统实现这一点: days=[1,2,3,4,5] items=[ {name:"apple,day:3},{name:"orange,day:5} ] 假设我有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
days=[1,2,3,4,5]
items=[ {name:"apple,day:3},{name:"orange,day:5} ]
假设我有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”表示匹配的。两个循环。外部循环通过
项目
,内部循环通过天
。测试外部[日]
是否等于内部
,如果是,则输出y
,如果不是,则输出n
。两个循环。外部循环通过项目
,内部循环通过天
。测试outer[day]
是否等于internal
,如果是,则输出y
,如果不是,则输出n
。为什么不在django视图中定义此逻辑,然后简单地将Ys和Ns数组传递给模板?为什么不在django视图中定义此逻辑,然后简单地将Y和N的数组传递给模板?以下是Ignacio的意思。也就是说,我可能同意丹尼尔的观点,你应该在视图中这样做
<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>
{items%%中的项的%s}
{%item.name%}
{%dday的天数%}
{%ifequal dday item.day%}y{%else%}n{%endifequal%}
{%endfor%}
{%endfor%}
我调用了days循环变量'dday',以明确查找
项.day
实际上是获取项['day']
以下是Ignacio的意思。也就是说,我可能同意丹尼尔的观点,你应该在视图中这样做
<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>
{items%%中的项的%s}
{%item.name%}
{%dday的天数%}
{%ifequal dday item.day%}y{%else%}n{%endifequal%}
{%endfor%}
{%endfor%}
我调用了days循环变量'dday'以明确查找
项。day
这里实际上得到的是项['day']
无法使用django 1.1做到这一点:(这没有意义。两个用于标记,一个ifequal标记。无法使用django 1.1做到这一点:(这没有意义。两个标签和一个ifequal标签。如果视图->模板是一对一匹配,则最简单和最佳解决方案在模板中所能做的最少。如果视图->模板是一对一匹配,则最简单和最佳解决方案在模板中所能做的最少。