首页 > 解决方案 > 我怎样才能把评论显示在表格上

问题描述

我必须让“评论”显示在report_detail.html

我使用 Django 2.2 ,我尝试添加一些代码views.py但失败了。报告需要在下面显示评论,但是,我尝试在其中添加一些代码,views.pyreport_detail.html它无法正常工作,我该怎么办?谢谢你

模型.py

class Report(models.Model):
    done = models.TextField('what done')
    willDo = models.TextField('will do')
    date = models.DateTimeField(auto_now_add=True)
    author = models.ForeignKey(
        get_user_model(),
        on_delete=models.CASCADE,
    )

    def __str__(self):
        return self.done

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


class Comment(models.Model): 
    report = models.ForeignKey(
        Report, 
        on_delete=models.CASCADE,
        related_name='comments',
    )

    comment = models.CharField(max_length=140)
    author = models.ForeignKey(
        get_user_model(),
        on_delete=models.CASCADE,
    )


    def __str__(self):
        return self.comment

    def get_absolute_url(self):
        return reverse('report_list')

视图.py

class ReportDetailView(LoginRequiredMixin, DetailView):
    model = Report
    template_name = 'report_detail.html'
    login_url = 'login'

report_detail.html

<div class="article-entry">
  <h2>{{ object.done }}</h2>
    <p>by {{ object.author }} | {{ object.date }}</p>
    <p>{{ object.willDo }}</p>
  </div>

标签: django

解决方案


我认为你想要做的就是这样:

<div class="article-entry">
  <h2>{{ object.done }}</h2>
  <p>by {{ object.author }} | {{ object.date }}</p>
  <p>{{ object.willDo }}</p>
  {% for comment in object.comments.all %}
      <p>{{ comment.comment }}</p>
  {% endfor %}
</div>

推荐阅读