Exemplo n.º 1
0
 def get_comment(self, request, pk=None):
     post = self.get_object()
     queryset = post.comments.all()
     filter = self.request.query_params.get('author')
     queryset = queryset.filter(author=filter)
     serializer = CommentSerializer(instance=queryset, many=True)
     return Response(data=serializer.data, status=status.HTTP_200_OK)
Exemplo n.º 2
0
def get(request, **args):
    if 'pk' in args.keys():
        comment = Comment.objects.get(id=args['pk'])
    else:
        comment = Comment.objects.all()
    serializer = CommentSerializer(comment)
    json = JSONRenderer().render(serializer.data)
    return Response(json)
Exemplo n.º 3
0
 def unlike_comment(self, pk):
     comment = CommentDetailAPIView().get_object(pk)
     like = comment.like - 1
     comment_serializer = CommentSerializer(comment,
                                            data={'like': like},
                                            partial=True)
     if comment_serializer.is_valid():
         comment_serializer.save()
Exemplo n.º 4
0
def comment_list(request, post_id):
    """
        GET     | post_id를 기준으로 comment list를 가져옵니다.
        POST    | post_id를 기준으로 comment를 등록합니다.
    """
    post = get_object_or_404(Post, pk=post_id)

    if request.method == "GET":  # 댓글 보여주기
        comments = get_list_or_404(Comment, post=post_id)
        serializer = CommentSerializer(comments, many=True)
        return Response(serializer.data, status=status.HTTP_200_OK)

    if request.method == "POST":  # 댓글 등록
        serializer = CommentSerializer(request.data)
        if serializer.is_valid(
        ):  #is_valid()에서 비속어 처리도 진행 <- 참고로 comment에는 아직 안넣었는데 복붙할까요? 넵!
            serializer.save(post=post)
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 5
0
 def put(self, request, pk):
     comment = self.get_object(pk)
     serializer = CommentSerializer(comment,
                                    data=request.data,
                                    partial=True)
     if serializer.is_valid():
         serializer.save()
         return Response(response_data(True, serializer.data))
     else:
         return Response(response_data(False, serializer.errors),
                         status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 6
0
    def post(self, request, post_id):
        custom_request_data = copy.deepcopy(request.data)
        custom_request_data['post'] = post_id

        serializer = CommentSerializer(data=custom_request_data)
        if serializer.is_valid():
            serializer.save()
            return Response(response_data(True, serializer.data))
        else:
            return Response(response_data(False, serializer.errors),
                            status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 7
0
    def get(self, request, post_id):
        qs = Comment.objects.filter(post_id=post_id)
        comment_serializer = CommentSerializer(qs, many=True)
        comments = comment_serializer.data

        for index, comment in enumerate(comments):
            user = User.objects.get(pk=comment['user'])
            user_serializer = UserSerializer(user)

            comments[index]['created_at'] = datetime_formatter(
                comment['created_at'], '%Y-%m-%d %H:%M:%S')
            comments[index]['updated_at'] = datetime_formatter(
                comment['updated_at'], '%Y-%m-%d %H:%M:%S')
            comments[index]['user'] = user_serializer.data
        return Response(response_data(True, comments))
Exemplo n.º 8
0
def getObjectNoti(request, url_name):
    univ = request.user.univ
    content_type = request.GET.get('contentType')
    object_id = request.GET.get('objectId')

    if content_type == 10:
        content = Post.objects.get(pk=object_id)
        serializer = PostSerializer(content)
    else:
        content = Comment.objects.get(pk=object_id)
        serializer = CommentSerializer(content)

    data = {'content': serializer.data}

    return JsonResponse(data)
Exemplo n.º 9
0
 def get(self, request, pk):
     comment = self.get_object(pk)
     serializer = CommentSerializer(comment)
     return Response(response_data(True, serializer.data))