为什么我只能在Django视图中得到for循环的最后一个值?

2024-04-18 14:14:48 发布

您现在位置:Python中文网/ 问答频道 /正文

让我们说:

y = [go, cat, jump, see]

如果我做了:

查看:

  for x in y:
      x

模板:

   {{x}}

我只得到x=see,没有其他结果,1。为什么?2我该怎么做? 我知道在模板中这样做是可行的,但我还需要为数组或二进制中的每个项查找一些值(除非,也可以在模板中这样做)。有什么想法吗?你知道吗

编辑。 所以我有这个:session={4,5,6,7,} 它保存在会话中,它来自一个充满复选框选择的窗体,这些都是主键。你知道吗

视图:

 form = inlinefactory_formset(model1, model 2,extra = len(sesssion)
 formset = form(instance=None )

在我看来,我有这个

{% for x in session%}
    {{x}} {{formset}}   
    {%endfor%}

所以它会打印数字和数字的表格。这几乎就是我想要的,x是我上面提到的一个pk,我想用这个pk来查找x实例的名称,并用表单打印出来,这样人们就知道他们正在编辑什么表单。你知道吗


Tags: inform模板编辑go表单for二进制
2条回答

我认为在你看来

for x in y:
   print x

然后你要把上下文呈现成这样

render(request, "some.html", {"x": x} )

但上面只取最后一个值。你知道吗

这样做

render(request, "some.html", {"y": y} )

在模板中

{% for x in y%}
    {{ x }}
{% endfor %}

for循环x的内部被更新。因此,在它运行之后,x的值是列表中的最后一个值。你知道吗

您要做的是在模板中循环:

{% for x in y %}
   {{ x }}
{% endfor %}

相关问题 更多 >