0

Good day!

I'm trying to create a form with four fields, like in the screenshot. I'm not getting anywhere yet.

Now I use this form in template:

<form>
                    <form id="FirstForm" action="{% url one.views.FirstForm %}" method="POST">
                        {% csrf_token %}
                        {{ form1 }}
                    </form>
                    <form id="SecondForm" action="{% url one.views.SecondForm %}" method="POST">
                        {% csrf_token %}
                        {{ form2 }}
                    </form>
                    <div>
                            <input type="submit" name="subform1" value="Отправить" class="form_button">
                    </div>
                </form>

And here is the code in views.py:

def FirstForm(request):
if request.method == 'GET':
    form = FirstForm()
    return render(request, 'home.html', {'form':form})
else:
    form = FirstForm(request.POST)
    if form.is_valid():
            name = form.cleaned_data['name']
            email = form.cleaned_data['email']
            try:
                send_mail(name, email, settings.EMAIL_HOST_USER, ['daribian@list.ru'])
            except BadHeaderError:
                return HttpResponse('Invalid header found.')
            return redirect('success')
return render(request, 'home.html', {'form': form})

def SecondForm(request):
    if request.method == 'GET':
        form = SecondForm()
    else:
        form = SecondForm(request.POST)
        if form.is_valid():
            date = form.cleaned_data['date']
            number = form.cleaned_data['number']
            try:
                send_mail(date, number, settings.EMAIL_HOST_USER, ['daribian@list.ru'])
            except BadHeaderError:
                return HttpResponse('Invalid header found.')
            return redirect('success')
    return render(request, 'home.html', {'form': form})

def successView(request):
    return HttpResponse('Success!')

As well as the forms themselves:

class FirstForm(forms.Form):
    name = forms.CharField(widget=forms.TextInput(attrs={'class' : 'name_class'}), max_length=100, required=True)
    email = forms.EmailField(widget=forms.TextInput(attrs={'class' : 'email_class'}), required=True)

class SecondForm(forms.Form):
    date = forms.CharField(widget=forms.TextInput(attrs={'class' : 'my_name_class'}),  max_length=100, required=True)
    number = forms.EmailField(widget=forms.TextInput(attrs={'class' : 'my_email_class'}), required=True)

I keep getting various errors and I think I'm doing something wrong. Can someone tell me what my mistake is?

enter image description here

Daribian
  • 15
  • 2

0 Answers0