评论树

model.py

class Comment(models.Model):
    """

    评论表

    """
    nid = models.AutoField(primary_key=True)
    article = models.ForeignKey(verbose_name='评论文章', to='Article', to_field='nid')
    user = models.ForeignKey(verbose_name='评论者', to='UserInfo', to_field='nid')
    content = models.CharField(verbose_name='评论内容', max_length=255)
    create_time = models.DateTimeField(verbose_name='创建时间', auto_now_add=True)

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

    def __str__(self):
        return self.content

 views.py

def comment_tree(request,article_id):

    comment_list=list(Comment.objects.filter(article_id=article_id).values("content","pk","parent_comment_id"))


    return JsonResponse(comment_list,safe=False)

 html

 <div class="comment_tree">
        <p>评论树</p>


</div>


<script>

        // 获取评论信息
        $.ajax({
            url: "/blog/comment_tree/" + $(".info").attr("article_id"),
            success: function (comment_list) {
                console.log(comment_list);

                html = "";
                $.each(comment_list, function (index, comment_dict) {
                    temp= '<div comment_tree_id='+comment_dict.pk+' class="conmment_item"> <span class="content">'+comment_dict.content+'</span></div>'

                    if (!comment_dict.parent_comment_id) {
                         $(".comment_tree").append(temp)}
                    else {
                        pid=comment_dict.parent_comment_id;
                        $("[comment_tree_id="+pid+"]").append(temp)
                    }

                });




            }

        });
</script>
原文地址:https://www.cnblogs.com/guoyunlong666/p/9119182.html