2015-10-04 30 views
0

我想從列表框中獲取值,但我正面臨MultiValueDictKeyError。所以我嘗試使用get(),但現在我沒有從列表框中獲得任何值。使用django從列表框中獲取多個值

<form action="/submission/" method="get" name="Form1"><br> 
    <select multiple="multiple" name="Other_users" size="2"> 
     <option>option1</option> 
     <option>option2</option> 
    </select> 
    <input id="Save" style="height: 50px; width: 100px;" type="submit" value="Save"></form> 

這是我views.py

def submission(request): 
    .. 
    taker = request.GET.get('Other_users','f') 
    print taker 

urls.py

urlpatterns = patterns('', 
    url(r'^submission/', submission), 
) 

這段代碼實際上打印出f。如何獲取值option1option2並將它們存儲在數組中?

編輯:

我想我應該補充一點,如果我刪除multiple="multiple" size="2"部分(即創建一個簡單的下拉菜單),我沒有遇到任何問題。只有在列表框的情況下

EDIT2:

的問題似乎是,列表框是不是在QueryDict當我做print request.GETrequest.GET爲什麼沒有選擇列表框?

+1

使用Django的形式來處理FORMDATA輸入。它使整個過程變得更加簡單,具有演變性,而且您不太可能弄錯它,並在應用程序中引入巨大的安全漏洞。 – spectras

+0

我會調查django的形式,謝謝你的建議.. – user828647

回答

0

試試看:

request.GET.getlist('Other_users') 
+0

我試過了,但我仍然得到'f' – user828647

+0

我編輯了代碼 –