在 Django 中检索多个选择选项时出错
Posted
技术标签:
【中文标题】在 Django 中检索多个选择选项时出错【英文标题】:Error retrieving multiple select option in Django 【发布时间】:2013-06-21 08:30:34 【问题描述】:我的 html 页面中有一个带有多个选择选项的下拉菜单。在提交表单时,我试图在该下拉列表中捕获用户选择的所有选项。但它给我一个错误,而不是“TypeError:'instancemethod'对象不可下标”。以下是我的 template.html 和 views.py
模板.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[]']
时代码失败了
【问题讨论】:
【参考方案1】:request.POST.getlist['package[]']
应该是
request.POST.getlist('package[]')
将[]
替换为导致错误的()
。
这里是getlist
的文档和用法。
另外,改变
return HttpResponse("Selected Packages:"+selected_packages)
到
return HttpResponse("Selected Packages: %s" % selected_packages)
【讨论】:
以上是关于在 Django 中检索多个选择选项时出错的主要内容,如果未能解决你的问题,请参考以下文章
在 javascript 中通过 django 模板检索 json 数据时出错,在参数列表后给出 Uncaught SyntaxError: missing )
从 Django 表单 ChoiceField 中检索选定的选项
在 React 中使用多个选项从 <select> 中检索值