Почему я не могу сохранить значения в базе данных? Django

Я хочу сохранить свою форму в базе данных, но save() не работает. Когда я это делаю, ошибка не появляется. В начале я думал, что проблема в базе данных, но это не так

views.py

def comments(request):
     comments = Comment.objects.all()
     form = CommentForm()
     context = {"comments": comments, "form": form}
     if request.method == "POST":
         form = CommentForm(request.POST)
         if form.is_valid():
             comment = form.save(commit=False)
             comment.avtor = request.user
             comment.save() 
             return HttpResponseRedirect(reverse('comment'))
         else:
             context["form"] = form
             return render(request, "home/comments.html", context)
     else:
         return render(request, "home/comments.html", context)

И модели. Так что, я думаю, проблема еще в views.py. Я плохо знаю, как работает функция save().

models.py

class Comment(models.Model):
     Text = models.TextField(verbose_name='Text')
     date = models.DateTimeField(default=timezone.now, verbose_name='date')
     avtor = models.ForeignKey(User, verbose_name='avtor', on_delete=models.CASCADE)

     def __str__(self):
         return 'Comment {} at {}'.format(self.avtor, self.date)

     class Meta:
         ordering = ["-id"]

forms.py

class CommentForm(ModelForm):
     class Meta:
         model = Comment
         fields = ("Text",)

Последним я хочу сохранить аватор, текст и дату. Помогите мне пожалуйста.

<div class="container" style="min-height: 520px;">
    <form class="text-light formGroupComm" action="/" method="post">
        {% csrf_token %}
        {{ form }}
        <br>
        <button style="width: 6%!important;" class="btn btn-warning mb-5 mt-3 mx-auto" type="submit">submit</button>

    </form>
    <div class="comments text-dark">
        {% for comentPost in comments %}
            <div class="commentItem bg-warning my-3" style="border-radius: 40px; padding: 20px;">
                <div style="border-bottom: 3px solid black;" class="comTitle mx-3 my-3">{{ comentPost.avtor }}</div>
                <div style="" class="comText mx-5">{{ comentPost.Text }}</div>    
                <div style="" class="comDate mx-3 my-5">{{ comentPost.date|date:"F d, Время: h:i" }}</div>    
            </div>
        {% endfor %}

    </div>
</div>

Атрибут action указывает, куда отправлять данные формы, когда форма отправлена (https://www.w3schools.com/tags/att_form_action.asp).

Поэтому, когда вы поместите туда "/", форма отправит данные на главную страницу (представленную / в html). Это означает, что ваши данные не попадут в секцию POST вашего метода def comments(request). Когда метод не вызывается, логическим результатом является то, что новый комментарий не добавлен.

Это правильный код:

<div class="container" style="min-height: 520px;">
    <form class="text-light formGroupComm" method="post">
        {% csrf_token %}
        {{ form }}
        <br>
        <button style="width: 6%!important;" class="btn btn-warning mb-5 mt-3 mx-auto" type="submit">submit</button>

    </form>
    <div class="comments text-dark">
        {% for comentPost in comments %}
            <div class="commentItem bg-warning my-3" style="border-radius: 40px; padding: 20px;">
                <div style="border-bottom: 3px solid black;" class="comTitle mx-3 my-3">{{ comentPost.avtor }}</div>
                <div style="" class="comText mx-5">{{ comentPost.Text }}</div>    
                <div style="" class="comDate mx-3 my-5">{{ comentPost.date|date:"F d, Время: h:i" }}</div>    
            </div>
        {% endfor %}

    </div>
</div>


Вернуться на верх