我如何让用户能够制作他们的私人播放列表?
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")
我正在创建一个歌曲网站,用户可以在其中查看歌曲并将其添加到他们的播放列表中。 所以我创建了网站的几乎所有功能(歌曲、专辑、艺术家),除了用户和播放列表。我知道我们可以通过两种方式创建用户账户管理系统:
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")