Еще лучше, я думаю formsets это именно то, что вы ищете.
class GeneralForm(forms.Form):
field1 = forms.IntegerField(required=False)
field2 = forms. IntegerField(required=False)
from django.forms.formsets import formset_factory
# GeneralSet is a formset with 2 occurrences of GeneralForm
# ( as a formset allows the user to add new items, this enforces
# 2 fixed items, no less, no more )
GeneralSet = formset_factory(GeneralForm, extra=2, max_num=2)
# example view
def someview(request):
general_set = GeneralSet(request.POST)
if general_set.is_valid():
for form in general_set.forms:
# do something with data
return render_to_response("template.html", {'form': general_set}, RequestContext(request))
Вы можете даже автоматически сформировать набор форм из модели с modelformset_factory , которые используются автоматическим администратором django. FormSet обрабатывает даже больше вещей, чем простые формы, такие как добавление, удаление и сортировка элементов.