2013-05-21 71 views
0

我嘗試通過點擊「提交」按鈕,通過一個表格(我查了全部2場):從窗體傳遞數組值:爲什麼我得到1變量而不是數組?

<form id='contact-form' name='contact-form' method='get' action='/3/'> 
    <input type='checkbox' name='v[]' value='1'> 
    <input type='checkbox' name='v[]' value='2'> 
    <input type='submit'> 
</form> 

在我看來,我輸出所有接收到的變量(使用Django框架):

@template 
def view3(request): 
    print "request={0}".format(request.REQUEST) 
    ... 

我只是在輸出的最後一個變量:

request={u'v[]': u'2'} 

它說的是錯的html代碼段?

附加信息。包含該表單的html位於另一個html頁面的框架中。

+0

我很抱歉,我的答案是錯了,我刪除了,但我有一個建議,您使用單引號在真正的HTML或只是複製粘貼錯誤?它應該用雙引號 –

+0

@PauloBu我們可以使用任何我們想要的引號 - 雙或單。 – sergzach

+1

不要使用像'v []'這樣的字段名稱,這是一個PHP主題。 –

回答

2

Python的字典每個鍵只允許一個值,因此Django爲這種情況提供了一種特殊類型,即QueryDict。爲了獲得從輸入數組未來值的列表,你需要調用getlist它:

v = request.GET.getlist('v') 
相關問題