KeyError в django при использовании textarea

Я хочу сделать очень простую операцию: 1-получение некоторой информации из формы 2-сохранение данных в базе данных. Но я получаю эту ошибку и я не знаю причину этого! Вы можете пожалуйста помочь .

это forms.py :

class ContactForm(forms.Form):
title = forms.CharField(max_length=500)
phone_mail = forms.CharField(max_length=30)
body = forms.Textarea()

это models.py :

class Contact(models.Model):
title = models.CharField(max_length=500)
phone_mail = models.CharField(max_length=30)
text = models.TextField()

это views.py :

def contact(request):
if request.method == 'POST':
    form = forms.ContactForm(request.POST)
    if form.is_valid():
        data = form.cleaned_data
        Contact.objects.create(title = data['title'] , text = data['body'] , phone_mail = data['phone_mail'])
        return redirect('accounts:profile')
else :
    form = forms.ContactForm()
con = {'form' : form}
return render(request , 'home/contact.html' , con)

А это форма :

            <form class="row g-3 p-3" method="post">
            {% csrf_token %}
            <div class="col-md-6">
              <label for="title" class="form-label">title</label>
              <input type="text" class="form-control" id="title" name="title">
            </div>
            <div class="col-md-6">
              <label for="phone_mail" class="form-label">phone or email</label>
              <input type="text" class="form-control" id="phone_mail" name="phone_mail">
            </div>
            <div class="col-12">
              <label for="inputtext" class="form-label">text:</label>
              <textarea type="text" class="form-control" name="body" id="inputtext" minlength="20" maxlength="10000" required></textarea>
            </div>
            <div class="col-12">
              <button type="submit" class="btn btn-primary">Send</button>
            </div>
          </form>

И я получаю эту ошибку для них, когда я использую форму для отправки данных :

KeyError at /contact/ 'body'

error line = Contact.objects.create(title = data['title'] , text = data['body'] , phone_mail = data['phone_mail']) 

Вы получили эту ошибку, потому что написали текст вместо body.

models.py:

вместо:

text = models.TextField()

попробуйте это:

body = models.TextField()

class Contact(models.Model):
      title = models.CharField(max_length=500)
      phone_mail = models.CharField(max_length=30)
      body = models.TextField() #changed here text to body

Здесь в файле forms.py:

измените это:

class ContactForm(forms.Form):

To:

class ContactForm(forms.ModelForm):
Вернуться на верх