Помогите! не могу отобразить данные из бд
Это представления
class DetailNews(DetailView, CreateView):
model = News
template_name = 'app_news/detail.html'
context_object_name = 'detail'
success_url = reverse_lazy('news')
form_class = CommentNewsForm
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['title'] = 'Детальная страница'
return context
def post(self, request, *args, **kwargs):
comment = Comment.objects.all()
com_form = CommentNewsForm(request.POST, instance=comment)
if com_form.is_valid():
com = com_form.save()
return redirect('news')
return render(request, 'app_news/detail.html', context={'form': com_form, 'comment': comment})
Это модели
class News(models.Model):
title = models.CharField(max_length=255, verbose_name='Название')
content = models.TextField(blank=True, verbose_name='Содержание')
create_time = models.DateTimeField(auto_now_add=True, verbose_name='Дата создания')
time_update = models.DateTimeField(auto_now=True, verbose_name='Дата редактирования')
is_published = models.BooleanField(default=True, verbose_name='Флаг активности')
slug = models.SlugField(unique=True)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('news', kwargs={'slug': self.slug})
class Meta:
db_table = 'news'
verbose_name = 'Новости'
verbose_name_plural = 'Новости'
ordering = ['create_time']
class Comment(models.Model):
news = models.ForeignKey(News, on_delete=models.CASCADE, related_name='comments')
name = models.CharField(max_length=80, verbose_name='Имя')
email = models.EmailField(verbose_name='Почта')
body = models.TextField(verbose_name='Комментарий')
created_on = models.DateTimeField(auto_now_add=True)
active = models.BooleanField(default=False, verbose_name='Пометить как активный')
class Meta:
ordering = ['created_on']
verbose_name = 'Комментарии'
verbose_name_plural = 'Комментарии'
def __str__(self):
return 'Комментарии {} от {}'.format(self.body, self.name)
Это HTML детальной страницы
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{{ title }}</title>
</head>
<body>
<h1>{{ detail.title }}</h1>
<h3>{{ detail.content }}</h3>
<h5>Дата создания: {{ detail.create_time }}</h5>
<h5>Дата обновления: {{ detail.time_update }}</h5>
{% for i in comment %}
<h5>Комментарии: {{ i.name }} - {{ i.body }}</h5>
{% endfor %}
<p><h3><a href="{{detail.slug}}/update">Изменить новость</a> </h3>
<form method="post">
{% csrf_token %}
{{ form.as_p }}<br>
<button type="submit">Сохранить</button>
</form>
</body>
</html>