1

我开始使用Django创建一个简单的Web应用程序。request.POST在Django中不返回多个字段值

我正在使用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回报,除了多个其他字段选择 领域。

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

+0

嗨!代码似乎是正确的。这可能是'request.POST.getlist('probs_locations []')'实际上是空的。您是否尝试过使用非空参数? – bhakku

回答

0

你有select标签出错,多是你只需通过类似下面的说法:

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

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

+0

感谢您的回答。但是,它不能解决问题。 – krish