【问题标题】:Error retrieving multiple select option in Django在 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[]']时代码失败了

【问题讨论】:

    标签: html django django-forms django-templates django-views


    【解决方案1】:
    request.POST.getlist['package[]']
    

    应该是

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

    [] 替换为导致错误的()

    这里是getlist的文档和用法。

    另外,改变

    return HttpResponse("Selected Packages:"+selected_packages)
    

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

    【讨论】:

      猜你喜欢
      • 2022-07-16
      • 2016-08-20
      • 2011-02-13
      • 1970-01-01
      • 1970-01-01
      • 2017-05-25
      • 2018-11-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多