Django - Как добавить данные из кнопки AJAX в HTML, чтобы он обновлялся при каждом нажатии кнопки? - PullRequest
0 голосов
/ 10 октября 2018

В настоящее время у меня настроена кнопка, похожая на 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)

1 Ответ

0 голосов
/ 10 октября 2018

Вы можете просто добавить эту строку в функцию успеха запроса ajax:

$("#likeCount").html(data.like_count);

, где likeCount - это идентификатор html-тега, в который вы хотите поместить значение, например:

<div id="likeCount"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...