** how I solve error I how In views.py",第120行,在likePost Like.like(post,user) AttributeError:类型对象'Like‘没有属性'like’....**
views.py
#############Like
def likePost(request):
post_id=request.GET.get("likeId",'')
print(post_id)
post=Post.objects.get(pk=post_id)
user= request.user
like=Like.objects.filter(post= post,user= user)
liked=False
if like:
Like.dislike(post,user)
else:
liked=True
Like.like(post,user)
resp={
'liked':liked
}
response=json.dumps(resp)
return HttpResponse(response,content_type="application/json")
template.html
<button type="button" class="btn-xs btn-info like btn-sm "id="{{i.id}}">
{% if i in liked_post %}
<a href="{%url 'like_dislike_post'%}" style="color: white;" id="like_text">Liked</a> </button>
{% else %}
<a href="{%url 'like_dislike_post'%}" style="color: white;" id="like_text">Like</a> </button>
{% endif %}
$(".like").click(function(e){
var id=this.id;//$(this).attr(.id);
var href=$('.like').find('a').attr('href');
console.log(href,id)
e.preventDefault();
$.ajax({
url:href,
data:{'likeId':id},
success:function(response)
{
if (response.liked)
{
$('#like_text').html("Liked")
}
else {
$('#like_text').html("Like")
}
}
})
});
models.py
class Like(models.Model):
user = models.ManyToManyField(User,related_name="linkingUser")
post = models.OneToOneField(Post,on_delete=models.CASCADE)
@classmethod
def liked(cls,post,liking_user):
obj,create= cls.objects.get_or_create(post=post)
obj.user.add(liking_user)
@classmethod
def liked(cls,post,disliking_user):
obj,create= cls.objects.get_or_create(post=post)
obj.user.remove(disliking_user)
# @classmethod
# def
def __str__(self):
return str(self.post)发布于 2020-06-06 17:55:49
更改此行:
Like.like(post,user)至
Like.liked(post,user)https://stackoverflow.com/questions/62229780
复制相似问题