@tsmdv

Проблема с формой Django?

Не появляются поля ввода данных, но если нажать на подтвердить, открывается страинца contact/ и вот там уже поля есть, как это исправить и чтобы после отправки открывалось thanks/

def FormView(request):
	if request.method == 'POST':
		form = ContactForm(request.POST)

		if form.is_valid():
			sender = form.cleaned_data['sender']
			phone = form.cleaned_data['phone']

			recepients = ['omail@gmail.com']

			try:
				send_mail(sender, phone, 'mail@gmail.com', recepients)
			except BadHeaderError:
				return HttpResponse('Invalid header found')
			return render(request, 'atr/thanks.html')
	else:
		form = ContactForm()
	return render(request, 'atr/contact.html', {'form': form})

<div class="form">
            <form class="text-center p-5" action="/contact/" method="POST">
                {% csrf_token %}
                <h3 class="h4 mb-4">Есть вопросы?</h3>
                <p>Оставьте свой номер телефона и мы свяжемся с вами в ближайшее время</p>
                {{ form.sender.errors }}
                {{ form.sender }}
                
                {{ form.phone.errors }}
                {{ form.phone }}
                
                <button class="btn btn-success rounded" type="submit">Подтвердить.</button>
            </form>
        </div>
  • Вопрос задан
  • 49 просмотров
Пригласить эксперта
Ответы на вопрос 1
@evgenii-del
return render(request, 'atr/thanks.html')
Поменяйте на
return redirect('name_of_path')
Вместе name_of_path вы должны написать имя вашего path. Например:
urlpatterns = [
   path('profile/', userViews.profile, name='name_of_path'),
]

Не забудьте импортировать во views.py
from django.shortcuts import redirect
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы