Reputation: 37876
I have multiple objects in a form:
<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>
I am wondering how to catch each object and its name,size and number in my views.py. what is the best way for it?
thanks
Upvotes: 1
Views: 646
Reputation: 37876
i end up with this solution, writing just for case someone can use it or you can correct me if i am wrong somewhere.
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
"""
Upvotes: 1