2017-04-14 70 views
-3

我正在创建一个音乐网站。在本网站中,我想添加收藏夹的功能,以便用户可以将歌曲添加到他们最喜欢的列表中。从模板保存对象

我已经做了一切,但我不知道如何保存它。这里是我的代码:

models.py

class Song(models.Model): 

    is_favorite = models.BooleanField(default=False) 

    def __str__(self): 
     return self.song_title 

views.py

def song_detail(request,song_id): 
    song = Song.objects.get(pk=song_id) 
    favorite = song.is_favorite = True 
    return render(request, 'song_detail.html', {'favorite':favorite}) 

song_detail.html

<button onclick="{{favorite}}">Favourite</button> 

虽然与蟒蛇玩壳,我发现这个问题: 让s为创建的歌曲,pk = 1,

d = Song.objects.get(pk=1) 
d.is_favorite=True 
d.save() 
y = Song.objects.filter(is_favorite=True) 
print(y) 
->s 

问题出在制作一首歌曲后,is_favorite = True,我们需要保存它。但我不知道如何在代码中实现它,以便当用户单击按钮时,布尔型字段将更改为true。谢谢。

+1

我们如何在不看代码的情况下提供帮助? –

+0

已修改:添加了代码。 –

+0

浏览器需要触发设置此属性的ajax'POST'请求​​。 – karthikr

回答

0

我自己解决了!

我将视图中收藏的值更改为song.update(is_favorite = True)。