Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django模板问题_Python_Django_Django Templates - Fatal编程技术网

Python 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

如何使用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
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标签。如果视图->模板是一对一匹配,则最简单和最佳解决方案在模板中所能做的最少。如果视图->模板是一对一匹配,则最简单和最佳解决方案在模板中所能做的最少。