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

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的属性选择器,追加样式


猜你喜欢

转载自www.cnblogs.com/zhuzhiwei-2019/p/10777314.html