如何实现Like按钮django

时间:2016-06-30 20:57:51

标签: django

请我是编程的新手,如果我的问题太简陋或太烦人,请不要生气。我有一个类似的模型

class Feed(models.Model):
    user=models.ForeignKey(User,on_delete=models.CASCADE,related_name='feeds')
    text=models.TextField(blank=False,max_length=500)
    user_like=models.ManyToManyField(User,related_name="likes",blank=True)

我想为此模型创建一个独立的赞按钮,以便在模板中的用户点击时将user添加到user_like。我有这样的视图

def like_feed(request,pk):
    feed=get_object_or_404(Feed,pk=pk)
    user=request.user
    if request.method=='POST'
        if feed.user_like.filter(id=user.id).exists():
            feed.user_like.remove(user)  
            #make the change and reload the page 
            return render(request , 'index.html' ,{'feed':feed,})
        else:
            feed.user_like.add(user)   
            #make the change and reload the page
            return render(request , 'index.html' ,{'feed':feed,})

urls.py

url(r'^likes/(?P<pk>\d+)/$',views.like_feed,name='like_feed_url')

我模板中的某个地方

<form action="{% url 'like_feed' pk=feed.pk %}" method="post">
<input type="button" id="like" name="like_button" value="Like" /></form>

正如我所说,我不确定自己在做什么,我只是在尝试。请帮助我。

0 个答案:

没有答案