Django自定义标签实现多级评论

  1. 首先在App的目录下,建一个名为templatetags的Python package(含有init.py)
  2. 在templatetags下新建一个名为custom.py的文件。

这里用到了递归,去寻找子评论。
在custom.py里,加入以下代码。
Django自定义标签实现多级评论_第1张图片

在models.py里,对Comment类加上父评论,指向他自己。

parent_comment = models.ForeignKey('self', related_name='p_comment',null=True, blank=True)

在templates里需要用的html中,加上我们自定义的标签。

# 在HTML最上面加上这句话
{% load custom %}
# 在需要用到多级评论的地方加上这句话,其中comments是view传过来的,比如comments = article.comment_set.all()
{% build_comment_tree comments %}

你可能感兴趣的:(Python,django)