Как отправить сообщение на почту, при этом остаться на странице?

После отправки сообщения меня перенаправляет на другую страничку, естественно я сделал так сам, но по другому не получается. Вот код, пользовался и рендером чтобы отрисовать страничку заново, но это не то. Можно ли как-то сделать так, чтобы страничка возвращалась к предыдущей, либо чтобы просто обновлялась?

def send_email(request):
   subject = 'Новая заявка!'
   message = 'Имя: ' + request.POST.get('name_field') + '\n' + 'Телефон\Email: ' + request.POST.get(
    'name_field2') + '\n' + 'Cообщение: ' + request.POST.get('name_field3')
   email_from = settings.EMAIL_HOST_USER
   recipient_list = ['[email protected]', ]
   send_mail(subject, message, email_from, recipient_list)
   return HttpResponse("Successful")

Сейчас просто выводится на результат HttpResponse("Successful")


Ответы (1 шт):

Автор решения: Евгений Иванов

С помощью js и ajax

$(".btn-submit-js").on('click', function (e){
    e.preventDefault();
    var form = $(this).closest('.form');
    $.ajax({
        url: form.attr('action'),
        type: "POST",
        dataType: "html",
        data: form.serialize();,
        success: function (response) {
          console.log(response);
        },
        error: function (response) {
          console.log(response);
        }
    });
})

→ Ссылка