В настоящее время у меня настроена кнопка, похожая на ajax.Консоль показывает, что при нажатии кнопки значение счетчика переключается, но как мне получить переменную like_count для вставки в мой HTML-код?Мой код кнопки:
<script type="text/javascript">
function toggleLike(){
$.ajax({
url: "{% url 'photo_blog-post_like_api' post.id %}",
data: {like_count: 'like_count', 'csrfmiddlewaretoken': '{{ csrf_token }}'},
dataType: "json",
success: function(data) {
console.log(data);
}
});
};
</script>
и HTML-код кнопки:
<input type="button" onclick="toggleLike()" value="Like"/>
, а код для моего просмотра:
class LikePostAPI(APIView):
authentication_classes = (authentication.SessionAuthentication,)
permission_classes = (permissions.IsAuthenticated,)
def get(self, request, slug=None, format=None, pk=None):
obj = get_object_or_404(Post, id=pk)
user = self.request.user
updated = False
liked = False
if user.is_authenticated:
if user in obj.likes.all():
liked = False
obj.likes.remove(user)
like_count = obj.likes.count()
else:
liked = True
obj.likes.add(user)
like_count = obj.likes.count()
updated = True
data = {
"updated": updated,
"liked": liked,
"like_count": like_count
}
return Response(data)