Я создал веб-приложение, используя django, где в одном из разделов я запрашиваю отзывы пользователей, и, нажав кнопку «Отправить», я отправляю пользователю электронное письмо с благодарностью за отзыв.
Но каждый раз, когда я нажимаю на кнопку "Отправить", страница обновляется, электронная почта успешно доставляется Но я хочу, чтобы, когда пользователь нажимал кнопку "Отправить", я хотел показать сообщение "Спасибо" прямо там, вместо обратной связи. и форму обратной связи для удаления
Вот мой раздел index.html
<form action="" method="POST">
{% csrf_token %}
<div>{{ form.message }}</div>
<div>{{ form.email }}</div>
<p class="formerrors" >{{ form.email.errors.as_text }}</p>
<hr>
<input id="submitbutton" type="submit" name="submit" value="Submit">
</form>
вот мой индекс определения представления (запрос):
if request.method == 'POST':
form = FeedbackForm(request.POST)
if form.is_valid():
subject = "You got a message"
message = form.cleaned_data['message']
email = form.cleaned_data['email']
actual_message = "You got a message from {} \n\n {} \n\nGo to work\nWith regards".format(email,message)
recipients = ['example@mail.com']
sender = 'example@mail.com'
send_mail(subject, actual_message, sender ,recipients,fail_silently=False)
return HttpResponseRedirect('')
else:
form = FeedbackForm()
return render(request,'my_webapp/index.html',{'form':form})
Я могу сделать это, написав функцию JS onClick, но есть ли лучший способ сделать это? Кроме того, встроенные сообщения django обновляют страницу, я думаю, и всегда находятся в верхней части страницы. Я, конечно, не хочу, чтобы моя страница обновлялась, и хочу, чтобы вместо формы появлялось сообщение.