Не удается перенаправить формы на моем сайте и показать сообщение Success в django

Я новичок в Django, Форма принимает ввод от пользователя и сохраняет его в /admin, а также отправляет почту на мой email. Я пытаюсь получить сообщение об успехе после нажатия на Отправить сообщение, но не могу получить сообщение об успехе. Также я хочу, чтобы страница перенаправляла в ту же контактную форму и очищала поля ввода. Спасибо #My Views.py

from django.shortcuts import render
from django.shortcuts import render
from collections import namedtuple
from django.contrib import messages
from django.shortcuts import redirect, render
from django.views.generic import ListView, CreateView, DeleteView, DetailView
from . import models
from . import forms
from django.core.mail import send_mail
from django.conf import settings
from django.http import HttpResponseRedirect


def home(request):
    return render(request, 'index.html')


def contact(request):
    contact = models.Contact.objects.all()
    form = forms.ContactForm()

if request.method == 'POST':
    firstname = request.POST['firstname']
    lastname = request.POST['lastname']
    email = request.POST['email']
    phone = request.POST['phone']
    message = request.POST['message']
    data = {
        'firstname': firstname,
        'lastname': lastname,
        'email': email,
        'phone': phone,
        'message': message
    }

    message = '''
    The message is sent by: {} {}

    Email_id: {}
    Phone No: {}
    Message: {}

    '''.format(data['firstname'], data['lastname'], data['email'], data['phone'], data['message'])
    send_mail(data['email'], message, '', ['bbchanna@gmail.com'])

    form = forms.ContactForm(request.POST)
    if form.is_valid():
        form.save()
        form = forms.ContactForm()
        return render(request, 'contact.html', {'form': form, "success": True})
else:
    raise NotImplementedError

context = {'form': form}
return render(request, 'contact.html', context)

'''

Моя HTML-страница

'''<div class="contact-form">
  {% if success %}
  <div role="alert">Your Message is sent Successfully</div>
  {% endif %}
  <form action="#" method="post" enctype="multipart/form-data">
    {% csrf_token %}
    <div>
      {{ form.firstname }}
      {{ form.lastname }}
    </div>
    <div>
      {{ form.email }}
      {{ form.phone }}
    </div>
    <div>
      {{ form.message }}
    </div>

    <button class="Send.btn" type="submit">Send message</button>


  </form>'''

#My forms.py

from django import forms
from . import models


class ContactForm(forms.ModelForm):
   firstname = forms.CharField(max_length=264, widget=forms.TextInput(
       attrs={'placeholder': 'First Name', 'class': 'form-control'}))

   lastname = forms.CharField(max_length=264, widget=forms.TextInput(
       attrs={'placeholder': 'Last Name', 'class': 'form-control'}))

   email = forms.CharField(max_length=264, widget=forms.TextInput(
       attrs={'placeholder': 'Email', 'class': 'form-control'}))

   phone = forms.CharField(max_length=264, widget=forms.TextInput(
       attrs={'placeholder': 'Phone', 'class': 'form-control'}))

   message = forms.CharField(max_length=264, widget=forms.Textarea(
       attrs={"rows": 5, "cols": 20, 'placeholder': 'Write your message', 'class': 'form- 
                   control'}))

 class Meta:
    fields = ('firstname', 'lastname', 'email', 'phone', 'message')


    model = models.Contact

#My Urls.py

 from django.urls import path
 from django.conf.urls import url
 from django.urls.resolvers import URLPattern
 from . import views

app_name = 'mysite'

urlpatterns = [
    path('', views.home),
    path('contact/', views.contact, name='contact'),
]

Для того, чтобы получить сообщение об успешной отправке формы, вам сначала нужно импортировать сообщения django, например так:

from django.contrib import messages 

 form = forms.ContactForm(request.POST)
    if form.is_valid():
        form.save()
        form = forms.ContactForm()
        messages.info(request,'Form was successfully saved')
        return render(request, 'contact.html', {'form': form})

Затем создайте файл messages.html и сохраните его в шаблонах контактов, чтобы иметь уведомления об успешно отправленной форме с фронтенда.

{% if messages %}
<style type="tect/css">
    div.messages{
        background-color: #ff6b6b;
        color: #ff6ff7;
    }
    ul.messages{
        list-style-type: none;
    }
</style>
<div class="messages">
    <ul class="messages">
        {% for message in messages %}
        <li {% if message.tags %} class="{{message.tags}}"{% endif %} >{% if 'html_safe' in message.tags %}
            {{message|safe}}{% else %}{{message}}{% endif %}
        </li>
        {% endfor %}
    </ul>
</div>
{% endif %}  
Вернуться на верх