Esempio n. 1
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()
Esempio n. 2
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)
Esempio n. 3
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)
Esempio 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)