如何提交包含多个对象的表单 - django

时间:2014-05-30 18:12:18

标签: python django

表格中有多个对象:

<form action="/someurl/" method="post">{% csrf_token %}  
 {% for each in products %}
  <tr>
   <td style="display:none">
      <input name="obj_id" value="{{each.id}}" />
   </td>
   <td>
      {{each.name}}
      <input name="obj_name" type="hidden" value="{{each.name}}" />
   </td>
   <td>
      {{each.size}}
      <input name="obj_size" type="hidden" value="{{each.size}}" />
   </td>
   <td>
      {{each.number}}
      <input name="obj_number" type="hidden" value="{{each.number}}" />
   </td>
  </tr>
 {% endfor %} 
<input type="submit" value="Send Objects" />
</form>

我想知道如何在views.py中捕获每个对象及其名称,大小和数量。最好的方法是什么?

谢谢

1 个答案:

答案 0 :(得分:1)

我最终得到了这个解决方案,只是为了一个人可以使用它的情况写作,或者如果我在某个地方错了你可以纠正我。

def viewfunc(request):
   objids = request.POST.getlist('obj_id')
   names = request.POST.getlist('obj_name')
   sizes = request.POST.getlist('obj_size')
   numbers = request.POST.getlist('obj_number')
   res = []
   for objid, name, size, number in zip(objids,names,sizes,numbers):
       innerlist = []
       innerlist.append(objid+', '+name+', '+size+', '+number)
       res.append(innerlist)
   """
    now res has all objects as list elements 
   """