我如何让用户能够制作他们的私人播放列表?

How do I give users the ability to make their private playlist?

我正在创建一个歌曲网站,用户可以在其中查看歌曲并将其添加到他们的播放列表中。 所以我创建了网站的几乎所有功能(歌曲、专辑、艺术家),除了用户和播放列表。我知道我们可以通过两种方式创建用户账户管理系统:

1) By using django's own user system

2) By creating our own custom UserProfile

我使用 Django 自己的用户系统创建了用户配置文件系统。用户可以注册并登录到我的页面。

现在我想在我的网站上添加播放列表的功能。用户登录后,他们可以创建自己的私人播放列表,并向他们的播放列表添加尽可能多的歌曲。

如何添加播放列表的这个功能?期待您的宝贵帮助。

#Models.py
class Song(models.Model):
    album = models.ForeignKey(Album, on_delete=models.CASCADE)
    artist = models.ForeignKey(Artist, on_delete=models.CASCADE)
    song_title = models.CharField(max_length=200, null=False, blank=False)
    audio_file = models.FileField(default='', upload_to='song')
    is_favorite = models.BooleanField(default=False)
    genre = models.CharField(max_length=250)
    is_favorite = models.BooleanField(default=False)
    song_logo = models.CharField(max_length=1000, null=True)


    @property
    def filename(self):
        return os.path.basename(self.audio_file.path)
    def __str__(self):
        return self.song_title

看来您只需要播放列表模型,它可能如下所示:

from django.conf import settings
from django.db import models


class Playlist(models.Model):
    owner = models.ForeignKey(settings.AUTH_USER_MODEL)
    songs = models.ManyToManyField("YourSongModel")