从模板中保存对象

时间:2017-04-14 11:45:59

标签: python html django web

我正在创建一个音乐网站。在这个网站上,我想添加收藏夹的功能,以便用户可以将歌曲添加到他们喜爱的列表中。

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

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>

在玩python shell时,我发现了问题: 设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)

我自己解决了!

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