2014-06-27 61 views
-2

比方说:为什么我只能得到django中for循环的最后一个值?

y = [go, cat, jump, see] 

如果我这样做:

查看:

for x in y: 
     x 

模板:

{{x}} 

我只会得到X =看并没有其他结果,1.为什么是这样? 2.我怎样才能使它工作? 我知道在模板工作中做这件事,但我还需要查看数组或dicitonary中每个项目的一些值(除非可以在模板中完成)。有什么想法吗?

编辑。 所以我有这样的:会话= {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实例的名称并用表单打印,这样人们就知道他们正在编辑什么样的表单。

+0

请给我们更大的代码块。你在上下文中传递了哪些变量? –

+0

感谢至少问形式,而不是像其他人一样投票 – user3525985

回答

0

更新for循环x内部。所以在运行之后,x的值就是列表中的最后一个值。

你想要做的是循环通过它的模板:

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

我想在你的意见,你在做什么,

for x in y: 
    print x 

那么你呈现这个样子,

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

但以上只取最后一个值。

做这种方式,

render(request, "some.html", {"y": y}) 
在你的模板

{% for x in y%} 
    {{ x }} 
{% endfor %} 
相关问题