首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AttributeError:类型对象“like”没有属性“like”

AttributeError:类型对象“like”没有属性“like”
EN

Stack Overflow用户
提问于 2020-06-06 17:27:46
回答 1查看 88关注 0票数 0

** how I solve error I how In views.py",第120行,在likePost Like.like(post,user) AttributeError:类型对象'Like‘没有属性'like’....**

代码语言:javascript
复制
     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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-06 17:55:49

更改此行:

代码语言:javascript
复制
Like.like(post,user)

代码语言:javascript
复制
Like.liked(post,user)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62229780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档