Вот пример того, как можно реализовать несколько форм в одном классе в Django:
from django import forms
from django.shortcuts import render
class Form1(forms.Form):
# Define form fields for Form1
field1 = forms.CharField(max_length=100)
field2 = forms.EmailField()
class Form2(forms.Form):
# Define form fields for Form2
field3 = forms.CharField(max_length=100)
field4 = forms.IntegerField()
class MyView(View):
def get(self, request):
form1 = Form1()
form2 = Form2()
return render(request, 'my_template.html', {'form1': form1, 'form2': form2})
def post(self, request):
form1 = Form1(request.POST)
form2 = Form2(request.POST)
if form1.is_valid() and form2.is_valid():
# Process form data
# ...
return render(request, 'success_template.html')
return render(request, 'my_template.html', {'form1': form1, 'form2': form2})
В этом примере у нас есть два класса форм: Form1
и Form2
, каждый из которых представляет отдельную форму со своими полями. Класс MyView
— это представление Django, которое обрабатывает запросы GET и POST. В методе GET мы создаем экземпляры обеих форм и передаем их в шаблон. В методе POST мы проверяем отправленные данные для обеих форм и обрабатываем их, если они действительны.