Создание формы с четырьмя полями - PullRequest
0 голосов
/ 28 мая 2020

Добрый день!

Пытаюсь создать форму с четырьмя полями, как на скриншоте. Я пока никуда не денусь.

Теперь я использую эту форму в шаблоне:

<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>

А вот код в 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!')

А также сами формы:

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)

У меня все время появляются разные ошибки и мне кажется, что я что-то делаю не так. Может ли кто-нибудь сказать мне, в чем моя ошибка?

введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...