Не сохраняет комментарии django 3.1.1

При добавлении комментариев не сохраняет и перекидывает на главную страницу


views.py

def post_detail(request, pk):
    post = get_object_or_404(articles, id=pk,
                             status='published')
    comments = post.comments.filter(active=True)

    new_comment = None

    if request.method == 'POST':
        # Пользователь отправил комментарий
        comment_form = CommentForm(data=request.POST)
        if comment_form.is_valid():
            # Создаем комментарий
            new_comment = comment_form.save(commit=False)
            # Привязываем ком-рий к статье
            new_comment.post = post
            # Сохраняем коментари
            new_comment.save()
    else:
        comment_form = CommentForm()


    return render(request, 'article/detail_view.html', {'post': post,
                                                        'comments': comments,
                                                        'comment_form': comment_form})

models.py

class articles(models.Model):
    STATUS_CHOICES = (
        ('draft', 'Draft'),
        ('published', 'Published'),
    )

    title = models.CharField('Заголовок', max_length=150)
    anons = models.CharField('Анонс', max_length=250)
    body = models.TextField('Статья')
    date = models.DateTimeField("Дата публикации", default=timezone.now)
    status = models.CharField(max_length=10, choices=STATUS_CHOICES, default='published')


    objects = models.Manager()
    published = PublishedManager()
    # Показывает title как текст, а не objects(1)
    def __str__(self):
        return self.title
    class Meta:
        ordering = ('-date',)

    def get_absolute_url(self):
        return reverse('news_detail', args=[self.id])

urls.py

path('<int:pk>', views.post_detail, name='news_detail'),

HTML

{% for comment in comments %}
    <div class="comment">
        <p class="into">
            <!-- Нумерация коментария, затем имя автора,
             дату создания и текст-->
            Comment {{ forloop.counter }} by {{ comment.name }}
            {{ comment.created }}
        </p>
        {{ comment.body|linebreaks }}
    </div>
{% empty %}
    <p> There are no comments yet. </p>
{% endfor %}

<!-- статья успешно добавлена -->
{% if new_comment %}
    <h2> Your comment has been added.</h2>
{% else %}
    <h2> Add a new comment </h2>
    <form action="." method="post">
        {{ comment_form.as_p }}
        {% csrf_token %}
        <p><input type="submit" value="Add comment"></p>
    </form>
{% endif %}

CommentForm:

class CommentForm(ModelForm):
    class Meta:
        model = Comment
        fields = ['name', 'email', 'body']

Заранее благодарю!


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