2013-06-24 67 views
1

我在我的html頁面中有一個下拉選擇選項。在表單提交中,我試圖捕獲用戶在該下拉列表中選擇的所有選項。但它會拋出一個錯誤,而不是「TypeError:'instancemethod'對象不是可下載的」。以下是我的template.html和views.py在Django中檢索多個選擇選項時出錯

Template.html:

Select packages: 
<form name=automationForm action="/vsawebauto/automation/results/" method="post"> 
//some form elements 
<select id="package" name="package[]" multiple="multiple" size="5"> 
{% for i in ida.package_set.all %} 
<option value="{{ i.pkg_id }}">{{ i.display_name }}</option> 
{% endfor %} 
</select> 
//some form elements 
<input type="submit" id="submit" value="Submit Job" /> 

Views.py:

def results(request): 
    //some code 
    selected_packages = request.POST.getlist['package[]'] 
    //some code 

    return HttpResponse("Selected Packages:"+selected_packages) 

注:我調試的代碼以及。 request.POST對象具有多個選定的值。例如。當用戶選擇1和701包時,request.POST has 'package[]': ['1','701']。但是代碼失敗,當我做request.POST.getlist['package[]']

回答

3
request.POST.getlist['package[]'] 

應該

request.POST.getlist('package[]') 

更換[]()這是錯誤的原因。

以下是getlist的文檔和用法。

另外,更改

return HttpResponse("Selected Packages:"+selected_packages) 

return HttpResponse("Selected Packages: %s" % selected_packages) 
+0

我知道我在做一些愚蠢的!非常感謝! – gauravhalbe