Я создал свой первый сайт с Django, и я пытаюсь заставить кнопку Ajax «лайк» работать на странице списка сообщений, но мне нужно перезагрузить страницу, чтобы получить + 1.
Мои просмотры:
def likes_post(request):
post_id = None
if request.method == 'GET':
post_id = request.GET['post_id']
like = 0
if post_id:
post = Post.objects.get(id = int(post_id))
if post:
like = post.likes + 1
post.likes = like
post.save()
return HttpResponse(like)
Мой HTML шаблон:
{% for post in posts %}
<div class="post-favourite">
<a href="#" data-posts-id="{{post.id}}" class="like text-danger">J'aime <i class="fa fa-heart-o likes_count"aria-hidden="true"> {{ post.likes }}</i></a>
</div>
{% endfor %}
и функция Ajax:
<script type="text/javascript">
$('.like').click(function(){
var ps_id;
ps_id = $(this).attr("data-posts-id");
$.get('/likes_post/', {post_id: ps_id}, function(data){
$(this).prev().find('.like_count').html(data);
});
});
</script>
Кнопка Ajax для страницы сведений post
работает просто замена последней строки на
$('.like_count').html(data);