Django 项目试炼blog -- 评论树的显示

Posted zhuzhiwei-2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django 项目试炼blog -- 评论树的显示相关的知识,希望对你有一定的参考价值。

Views

def get_tree_data(request):
    article_id = request.GET.get(article_id)
    send_data = list(Comment.objects.filter(article_id=article_id).values(pk,content,parent_comment_id))

    return JsonResponse(send_data,safe=False)

 ORM生成的的是queryset对象,而非真正的集合对象。

 JsonResponse传输list对象,需要添加safe属性

 

 


 

html

 <div class="list-group">
            <p class="tree">评论树</p>
            <div class="comment_tree"></div>

        </div>

        <script>
            $(.tree).click(function () {
                $.ajax({
                    url:/get_tree_data/,
                    type:"get",
                    data:{
                        article_id:{{ art_obj.pk }}
                    },
                    success:function (data) {
                        console.log(data);
                        $.each(data,function (index,comment_obj) {
                            var pk = comment_obj.pk;
                            var content = comment_obj.content;
                            var parent_comment_id = comment_obj.parent_comment_id;
                            var s = <div class="tree_item" comment_id=+pk+><span>+content+</span></div>;

                            if(!parent_comment_id){
                                $(.comment_tree).append(s)
                            }else{
                                $([comment_id=+parent_comment_id +]).append(s)
                            }

                        })
                    }
                })
            })
        </script>

 1、自定义标签属性,给父评论追加标识

2、利用jquery的属性选择器,追加样式

 


 

以上是关于Django 项目试炼blog -- 评论树的显示的主要内容,如果未能解决你的问题,请参考以下文章

django 项目试炼blog

Django 项目试炼blog(10) --补充 滑动验证码

Django 项目试炼blog -- 文章详情页1 -- 点赞功能

Django 项目试炼blog -- 文本编辑器的使用(文件存储,预览)

django表格form无法保存评论排查步骤

如何在 django 模板中显示评论及其回复?