request.POST不会在Django中返回多个字段值

时间:2017-02-13 19:39:04

标签: python-3.x django-models django-forms django-templates django-views

我开始使用Django创建一个简单的webapp。

我使用multipleselect有一个允许多项选择的下拉列表。

我尝试了几乎所有在这里找到的解决方案,但它们似乎都不适合我。

我正在使用python 3.5

HTML:

<form action="datareturn.html" method="post">
    {% csrf_token %}
    <select id="probs_location" multiple="multiple" name="probs_locations[]">
                {% for probs_location in probs_locations %}
              <option value="{{ probs_location }}">{{ probs_location }}</option>
              {% endfor %}
    </select>
    ...........#Other input fields

</form>

<script>
$('#probs_location').multiselect({
  enableClickableOptGroups: true
});
</script>

PYTHON-DJANGO:

def datareturn(request):
    if request.method=='POST':
        print(request.POST)
        print(request.POST.getlist('probs_locations[]'))
    return HttpResponse("Success")
  • request.POST返回除多个select之外的所有其他字段 字段。

  • request.POST.getlist('probs_locations[]')返回一个空列表。

1 个答案:

答案 0 :(得分:-1)

select代码中有错误,多个是您只需传递的参数,如下所示:

<select id="probs_location" name="probs_locations[]" multiple>

这可能是为什么它不被认可的原因。除了probs_locations[]看起来像一个可怕的名字,probs_locations_list会更好。