@snezhok8891

Не выводятся комментарии под статьей на сайте django?

в базу комментарии отправляется а на сайт не получается, запуталась во views

models.py

class Comment(models.Model):
post = models.ForeignKey('Post', verbose_name='Статья', on_delete=models.CASCADE)
author = models.ForeignKey(User, verbose_name='Пользователь', on_delete=models.CASCADE)
message = models.CharField('Комментарий', max_length=150)
date = models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='Опубликован')

class Meta:
verbose_name = 'Комментарий'
verbose_name_plural = 'Комментарии'

def __str__(self):

len_title = 75
if len(self.message) > len_title:
titlestring = self.message[:len_title] + '...'
else:
titlestring = self.message
return titlestring

views.py

class PostCommentCreate(LoginRequiredMixin, CreateView):

model = Comment
template_name = 'blog/post_commentform.html'
fields = ['message', ]

def get_context_data(self, **kwargs):

context = super(PostCommentCreate, self).get_context_data(**kwargs)
context['post'] = get_object_or_404(Post, pk=self.kwargs['pk'])
return context

def form_valid(self, form):

form.instance.author = self.request.user
form.instance.post = get_object_or_404(Post, pk=self.kwargs['pk'])

return super(PostCommentCreate, self).form_valid(form)

def get_success_url(self):
return reverse('blog_post', kwargs={'pk': self.kwargs['pk'], })

html



Comments
{% for comment in post.blogcomment_set.all %}

{{ comment.author }} ({{ comment.date }}) - {{ comment.message }}
{% endfor %}

{% if user.is_authenticated %}
Добавить новый комментрий
{% else %}
LoginДобавить комментарий
{% endif %}

  • Вопрос задан
  • 56 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы