django一个提交表单几个输入同名

时间:2017-08-18 17:24:50

标签: python django input

在模板中,我有一个表单,其中有几个输入,其名称与下面的示例相同。 (输入的名称总是相同,但值不同,例如一种情况下的速率是743.80,另一种形式是669.32)。 我需要知道如何发布所有相同的名称输入,而不是彼此重新对齐。在PHP我使用name =“rate []”然后为每个,但我不知道,如何使用它python / django。 有什么想法吗?

<form method="POST">

    <input type="hidden" name="hotel" value="{{ hotel.id }}" >
    <input type="hidden" name="room" value="{{ room.id }}" >
    <input type="hidden" name="policy" value="1" >
    <input type="hidden" name="rate" value="743.80" >
    <select name="qty">
    <option value="0">0</option>
    <option value="1">1</option>
    <option value="2">2</option>
    </select>

    <input type="hidden" name="hotel" value="{{ hotel.id }}" >
    <input type="hidden" name="room" value="{{ room.id }}" >
    <input type="hidden" name="policy" value="1" >
    <input type="hidden" name="rate" value="669.32" >
    <select name="qty">
    <option value="0">0</option>
    <option value="1">1</option>
    <option value="2">2</option>
    </select>

  <input type="submit" value="Enviar">
  </form>

3 个答案:

答案 0 :(得分:1)

您可以使用get_list例如:

rates = request.POST.getlist('rate')

此处详细信息QueryDict.getlist搜索QueryDict.getlist的说明,此处django-getlist人性化

答案 1 :(得分:1)

您应该使用formsets

答案 2 :(得分:0)

您最好使用AJAX,序列化表单并发布一组对象,这些对象按部分而不是输入名称将输入分组在一起。您现在使用的方法在后端映射表单值时容易出错,因为您尝试执行的操作会按名称而不是按输入组对值进行分组。