gpt4 book ai didi

javascript - Ajax + Django Like 按钮

转载 作者:行者123 更新时间:2023-12-03 02:53:22 26 4
gpt4 key购买 nike

我在构建一个简单的“点赞”按钮时遇到了问题。我已经完成了在不同教程中阅读的所有操作,但是当我单击“喜欢”按钮时,它没有执行任何操作。看:

模型.py

class Comentario (models.Model):
titulo = models.CharField(max_length=50)
texto = models.CharField(max_length=200)
autor = models.ForeignKey (Perfil, null=True, blank=True, on_delete=models.CASCADE)
likes = models.IntegerField(default=0)

View .py

def like (request):

com_id = None

if request.method == 'GET':
com_id = request.GET.get('comentario_id')

likes = 0
if com_id:
com = Comentario.objects.get(id=int(com_id))
if com:
likes = com.likes + 1
com.likes = likes
com.save()
return HttpResponse(likes)

url.py

urlpatterns = [
url(r'^like/$', login_required(views.like), name='like'),
]

.html

{% extends 'base/base.html' %}
{% for comentario in objects %}
...
{% if user.is_authenticated %}
<button id="likes" data-comid="{{comentario.id}}" class="btn btn-warning btn-sm " type="button">
Like|<strong id="like_count">{{ comentario.likes }}</strong>
</button>

{% endif %}
{% endfor %}

js/ajax.js

$('#likes').click(function(){
var comid;
comid = $(this).attr("data-comid");
$.get('/home/like/', {comentario_id: comid}, function(data){
$('#like_count').html(data);
$('#likes').hide();
});
});

在 base.html 中,我导入了所有 .js

base.html

        <script src="{% static 'jq/jquery-3.2.1.min.js' %}"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js" integrity="sha384-vFJXuSJphROIrBnz7yo7oB41mKfc8JzQZiCq4NCceLEaO4IHwicKwpJf9c9IpFgh" crossorigin="anonymous"></script>
<script src= "{% static 'js/bootstrap.min.js' %}"></script>
<script src= "{% static 'js/ajax.js' %}"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

问题是当我按下按钮时什么也没有发生。这是一个简单的代码,但有些东西崩溃了。检查中没有发现任何错误或缺失。

当我输入 .../home/like/时,它显示为 0。

我将感谢您的帮助。太感谢了。

最佳答案

这里有一些问题。最大的问题是,在 HTML 中,多个元素具有相同的 ID 是无效的;但是您正在为循环中的每个 div 分配 id likes。您应该将其添加到类列表中,并将 jQuery 绑定(bind)到 .likes

关于javascript - Ajax + Django Like 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47742557/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com