Недавно я изучил формы Django путем подкласса FormView
, где желаемая форма присваивается атрибуту FormView.form_class
. Когда форма проверяется, вызывается метод form_valid()
(для этой одной формы). Например:
from accounts.forms import SignUpForm, UpdateAccountForm, UpdateBillingForm
class SignUpView(FormView):
form_class = SignUpForm
def form_valid(self, form):
# code when form validates...
Однако теперь у меня есть ситуация, когда мне нужно три уникальные формы на одной странице (только одна форма, видимая пользователю за раз). Поэтому я хотел бы обрабатывать их все в одном представлении.
Возможно ли использование многоформатных страниц с помощью FormView? Я не уверен, как справиться с этим, как с точки зрения передачи нескольких форм в представление (например, другой UpdateAccountForm и UpdateBillingForm), так и для выделения того, какой из них был отправлен/подтвержден? Каким будет лучший способ?