【问题标题】:how to create comment tree in django如何在 django 中创建评论树
【发布时间】:2021-08-20 13:45:23
【问题描述】:
我需要一个评论系统,以便可以对任何评论回复评论
我知道如何编写模型和视图,我唯一的问题是在模板中显示它们
例如,可能一组cmets是这样的:
comment
comment
comment
comment
comment
comment
comment
comment
comment
comment
如何在模板中显示这个结构?
【问题讨论】:
标签:
python
django
django-templates
comments
django-comments
【解决方案1】:
您的 Comment 模型应该有一个 parent 字段,它引用另一个评论(自我关系)。
它将是这样的,将其添加到您的 Comment 模型中:
parent = models.ForeignKey('self', null=True, blank=True, related_name='replies')
现在您有了回复,甚至您的回复也可以成为另一个评论的父级。
在您的模板中:
{% for replay in comment.replies.all %}
<p class="info">{{ replay.user }} | {{ replay.date }}</p>
<li>{{ replay.text }}</li>
{% endfor %}
请注意,字段名称只是示例