Как сделать обработку нескольких форм на одной странице?

Привет, хочу сгруппировать формы на одной странице в табах.

Например вот формы
class FarmEditContact(forms.ModelForm):
    class Meta:
      model = Ranch
      fields = ('address','coord','phone1','phone2','worktime', 'vk', 'fb','insta','ok')

class FarmEditOffers(forms.ModelForm):
    class Meta:
      model = Ranch
      fields = ('offer1', 'price1', 'offer2', 'price2', 'offer3', 'price3')


Вот обработчик

def farm_edit(request, id):
    farm = get_object_or_404(Ranch, id=id)
    if request.method == "POST":
        form1 = FarmEditMain(request.POST, instance=farm)
        if form.is_valid():
            farm = form.save(commit=False)
            farm.owner = request.user
            farm.published_date = timezone.now()
            farm.save()
            return redirect('ranch.views.own_farm_detail', id=farm.id)
    else:
        form = FarmEditForm(instance=farm)
    return render(request, 'farms/farm_edit.html', {'form': form}


он обрабатывает только одну форму, как сделать обработку любой формы в нем?
  • Вопрос задан
  • 217 просмотров
Решения вопроса 1
@deliro
Либо так https://docs.djangoproject.com/ja/1.9/ref/forms/ap...
Либо можно прямо в коде инициализировать обе формы (т.к. множества полей у тебя не совпадают, а required=False нет, то неоднозначностей быть не должно) и проверять на валидность сначала первую, потом вторую.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы