在 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> 中检索值

Django模板语言相关内容 Djan

GraphQL 在 Django 中的一个请求中进行多个查询

在 Bash 中使用 getopts 检索单个选项的多个参数