Django 一个提交表单几个输入相同的名称



在模板中,我有一个表单,其中包含多个与以下示例相同的输入。 (输入的名称完全相同,但值不同,例如一种情况下的速率是 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>

您可以使用get_list例如:

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

详细信息在这里 QueryDict.getlist搜索 QueryDict.getlist 的描述,在这里 django-getlist 人性化

您应该为此使用表单集。

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

最新更新