2013-06-24 3 views
1

У меня есть drop down с несколькими вариантами выбора на моей странице 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