Не сохраняет комментарии 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']
Заранее благодарю!