我已经为like按钮构建了下一个架构,但是它不起作用。以下是我的档案:
在模型.py在
class Comentario (models.Model):
titulo = models.CharField(max_length=50)
autor = models.ForeignKey (Perfil, null=True, blank=True, on_delete=models.CASCADE)
archivo = models.FileField(upload_to='media/%Y/%m/%d', null=True, blank=True)
slug= models.SlugField(default=0)
likes = models.ManyToManyField(Perfil, related_name="likes")
def __str__(self):
return (self.titulo)
@property
def total_likes(self):
return self.likes.count()
def save(self, *args, **kwargs):
self.slug=slugify(self.titulo)
super(Comentario, self).save(*args, **kwargs)
在视图.py在
^{pr2}$在网址.py在
url(r'^like/$', login_required(views.like), name='like')
.html格式
<input type="button" id="like" name='{{ comentario_slug }}' value="Like" />
<script>
$('#like').click(function(){
$.ajax("/home/like/",{
type: "POST",
url: "{% url 'home:like' %}",
data: {'slug': $(this).attr('titulo'), 'csrfmiddlewaretoken': '{{ csrf_token }}'},
dataType: "json",
success: function(response) {
alert(' likes count is now ' + response.likes_count);
},
error: function(rs, e) {
alert(rs.responseText);
}
});
})
</script>
当我按下按钮的时候,它好像什么都不做。控制台告诉我:
htt后jquery.min.js:4 p:/127.0.0.1.8000/home/like/404(未找到)
和:http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js
问题是什么?在
谢谢你的帮助
有一个问题是你的视图没有被slug字段找到
Comentario
。您的ajax{ 'slug' : $(this).attr('titulo') ...
正确吗?您确定'titulo'
是slug的正确字段还是必须是$(this).attr('slug')
?试试这个:相关问题 更多 >
编程相关推荐