HTMLページに複数選択オプションのあるドロップダウンがあります。フォームの送信時に、そのドロップダウンでユーザーが選択したすべてのオプションを取得しようとしています。しかし、代わりに「TypeError:'instancemethod' object is not subscriptable」というエラーがスローされます。以下は私のtemplate.htmlとviews.pyです
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[]']