Beispiel #1
0
    def get(self, request, **kwargs):
        blog = Blog.objects.get(id=kwargs['blog_pk'])
        is_like = Like.objects.filter(user=request.user).filter(post=blog).count()

        # いいねを解除する
        if is_like > 0:
            liking = Like.objects.get(post__id=kwargs['blog_pk'], user=request.user)
            liking.delete()
            blog.like_num -= 1
            blog.save()

            return JsonResponse({"like": blog.like_num})

        # いいねする
        blog.like_num += 1
        blog.save()
        like = Like()
        like.user = request.user
        like.post = blog
        like.save()

        return JsonResponse({"like": blog.like_num})
Beispiel #2
0
def like(request, *args, **kwargs):
    post = Post.objects.get(id=kwargs['pk'])
    is_like = Like.objects.filter(user=request.user).filter(post=post).count()
    # unlike
    if is_like > 0:
        liking = Like.objects.get(post__id=kwargs['pk'], user=request.user)
        liking.delete()
        post.like_num -= 1
        post.save()
        messages.warning(request, 'いいねを取り消しました')
        return redirect(
            reverse_lazy('blog:post_detail', kwargs={'pk': kwargs['pk']}))
    # like
    post.like_num += 1
    post.save()
    like = Like()
    like.user = request.user
    like.post = post
    like.save()
    messages.success(request, 'いいね!しました')
    return HttpResponseRedirect(
        reverse_lazy('blog:post_detail', kwargs={'pk': kwargs['pk']}))