【问题标题】:How do I give users the ability to make their private playlist? [closed]如何让用户能够制作他们的私人播放列表? [关闭]
【发布时间】:2017-09-09 19:11:18
【问题描述】:

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

1) 通过使用django自己的用户系统

2) 通过创建我们自己的自定义 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

【问题讨论】:

  • 听起来像播放列表应该是另一个 Django 应用程序,并且归特定用户所有。播放列表可能具有关于它是公共的还是私人的设置。播放列表(我认为)只不过是一个有序的歌曲列表。

标签: python html django web playlist


【解决方案1】:

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

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")

【讨论】:

  • 我添加了它,出于测试目的,我省略了所有者对象。我的代码:songs = models.ManyToManyField(Song) 如何将歌曲从我的 Song 模型添加到歌曲中?(我是 django 的新手)
猜你喜欢
  • 2022-01-15
  • 1970-01-01
  • 2018-07-13
  • 2017-05-13
  • 2019-05-16
  • 1970-01-01
  • 1970-01-01
  • 2017-02-10
  • 1970-01-01
相关资源
最近更新 更多