Почему не выводятся комментарии?
Подскажите, как правильно сделать цикл выводов комментариев для данной модели? models.py:
class Book(models.Model):
title = models.CharField('Название', max_length = 200)
author = models.CharField('Автор(ы)', max_length = 300)
date_create = models.DateField('Дата написания')
date_edit = models.DateField('Дата издания')
pages = models.PositiveIntegerField('Кол-во страниц')
age_limit = models.PositiveBigIntegerField('Возрастное ограницение')
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('book_detail', kwargs={'pk': self.pk})
class Comment(models.Model):
title = models.CharField('Заголовок', max_length=140)
book = models.ForeignKey(
Book,
on_delete=models.CASCADE,
related_name='books',
)
name = models.CharField('Имя', max_length=100, default='Аноним')
email = models.CharField('Электронная почта', default='Нет', max_length=200)
body = models.TextField('Комментарий')
created_date = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
class Meta:
verbose_name = 'Комментарий'
verbose_name_plural = 'Комментарии'
views.py:
class BookDetail(FormMixin, DetailView):
model = models.Book
template_name = "book_detail.html"
form_class = forms.CommentForm
def get_success_url(self):
return reverse('book_detail', kwargs={'pk': self.object.id})
def get_context_data(self, **kwargs):
context = super(BookDetail, self).get_context_data(**kwargs)
context['form'] = forms.CommentForm(initial={'book': self.object})
return context
def post(self, request, *args, **kwargs):
self.object = self.get_object()
form = self.get_form()
if form.is_valid():
return self.form_valid(form)
else:
return self.form_invalid(form)
def form_valid(self, form):
form.save()
return super(BookDetail, self).form_valid(form)
class CommentList(ListView):
model = models.Comment
template_name = "book_detail.html"
Моя попытка, не удавшаяся: book_detail.html:
<h2>Комментарии:</h2>
{% for comments in post.comments.all %}
<h2>{{ comment.title }}</h2>
<h3>{{ comment.name }}</h3><i>{{ comment.created_date }}</i>
<p>{{ comment.body }}</p>
{% endfor %}