2014-06-27 62 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 %} 
相關問題