i newb ie с django, я пытаюсь сделать кнопку «Мне нравится» с ajax, но она не работает, ajax не отправляет данные на сервер, и я не знаю, почему, любой решение Django люди?
product / url.py:
path('upvote/',views.upvote,name='upvote'),
views.py
@login_required(login_url='/accounts/signup')
def upvote(request):
if request.method == 'POST':
ans_id = request.GET['product_id']
if ans_id:
product = get_object_or_404(Product,pk=ans_id)
if product:
product.votes_total+=1
product.save()
# return redirect('/products/' + str(product_id))
return render(request, 'products/home.html', {'likes': product.votes_total})
template / html
{% extends 'base.html' %}
{% block content%}
{% for product in product.all%}
<div class="container">
<div class="row pt-3">
<div class="col-2" onclick="window.location='{% url 'detail' product.id%}';" style="cursor : pointer;">
<img src="{{product.image.url}}" class="img-fluid " alt="">
</div>
<div class="col-6 " >
<h1 class="textcolor">{{ product.title}}</h1>
<p>{{product.summary}}</p>
</div>
<div class="col-4">
<b id="like_count">{{ product.votes_total }}</b>
<a data-catid="{{ product_id}}"> <button class="btn btn-warning btn-dark likes-button" id="likes" <span class="oi oi-thumb-up" id="like"></span> Upvote {{product.votes_total}}</button></a>
</div>
</div>
</div>
{% endfor%}
{% endblock%}
ajax:
$('.likes-button').click(function(){
$.ajax({
type: "POST",
url: '/ajax/upvote/',
data: {'slug': $(this).attr('name'), 'csrfmiddlewaretoken': '{{ csrf_token }}'},
dataType: "json",
success: function(response) {
alert(response.message);
alert('Company likes count is now ' + response.likes_count);
},
error: function(rs, e) {
alert(rs.responseText);
}
});
})