1

Я начал использовать Django для создания простого webapp.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> 

ПИТОН-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

Смежные вопросы