weixin_33717117 2020-01-16 16:54 采纳率: 0%
浏览 32

Django喜欢使用ajax的按钮

i newbie with django , I trying to make a like button with ajax, but it's not working, ajax is not sending the data to the server and I don't know why, any solution Django folks ?

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);
                }
          });
    })

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 如何在scanpy上做差异基因和通路富集?
    • ¥20 关于#硬件工程#的问题,请各位专家解答!
    • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
    • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
    • ¥30 截图中的mathematics程序转换成matlab
    • ¥15 动力学代码报错,维度不匹配
    • ¥15 Power query添加列问题
    • ¥50 Kubernetes&Fission&Eleasticsearch
    • ¥15 報錯:Person is not mapped,如何解決?
    • ¥15 c++头文件不能识别CDialog