Как обрабатывать две одинаковые формы на одной странице Django views
Я передаю несколько форм в один шаблон следующим образом, (ЗАМЕЧАНИЕ, что address_form
и shipping_address_form
- это одна и та же ФОРМА)
# views.py
class CartListView(generic.ListView):
...
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['companies_json'] = serializers.serialize(
"json", Item.objects.all())
address_form = AddressForm()
shipping_address_form = AddressForm()
order_form = OrderForm()
context['address_form'] = address_form
context['order_form'] = order_form
context['shipping_address_form'] = shipping_address_form
return context
В моем шаблоне есть ОДИН тег формы (из-за того, что я хочу только ОДНУ кнопку для их отправки)
# template.html
<form class="form" action="/payment/" method="POST">
{% csrf_token %}
{{ address_form }}
{{ shipping_address_form }}
вопрос в том, как обработать их в views.py, если я сделаю это как показано ниже, то будет выбрана только ПОСЛЕДНЯЯ форма
поэтому address_form
и shipping_address_form
имеют значения из shipping_address_form (FROM TEMPLATE)
#views.py
def payment_handler(request):
if request.method == 'POST':
addres_form = AddresForm(request.POST)
shipping_addres_form = AddresForm(request.POST)
if addres_form.is_valid():
если я печатаю(request.POST), он показывает, что в списке хранятся и адрес_формы и форма доставки_адрес_формы, как я могу выбрать в views.py, какую из AddresForm следует проверить?
'name': ['Test 1', 'test 2'], 'surname': ['frank', 'albertson']
Попытка использования TemplateView, где можно управлять двумя одинаковыми формами на одной странице