如何使用Django构建一个简单的音乐播放器网页



我想创建一个网页,管理员可以从后台添加音乐,用户可以使用Django播放歌曲并添加到收藏夹。

我为管理员创建了一个添加歌曲的模型:

型号.py

class Song(models.Model):
album = models.ForeignKey(Album, on_delete=models.CASCADE)
song_title = models.CharField(max_length=250)
audio_file = models.FileField(default='')
def __str__(self):
return self.song_title

现在我想创建一个视图,用户可以在其中播放音乐

Django无法帮助您构建"音乐播放器"。这是javascript,它将帮助您创建一个网络播放器(或者HTML音频(。Django可以帮助你存储音频并将其发送播放(我在这里没有使用正确的单词(。

您可以将音频文件存储在服务器中,并将其路径存储在数据库(模型(中,然后视图可以返回带有音频URL的HTML模板进行播放。这是一个非常基本的开始方法。

你可以从管理员添加一个文件,然后一个视图会获取其URL,然后将其发送到模板中播放。

你的问题太宽泛了,因此投了反对票。不管怎样,我会帮助我所做的。如果你真的在寻找一个简单的音乐播放器,html音频标签会对你有所帮助。作为参考,这是django模板中的一个小片段:

playlist_data.html:

{% for song in song_list %}
<tr>
<td>{{ song.song_title }}</td>
<td>{{ song.album.artist }}</td>
<td>
<audio controls="controls">
<source src="{{ song.audio_file.url }}" type="audio/ogg" />
<source src="{{ song.audio_file.url }}" type="audio/mpeg" />
<source src="{{ song.audio_file.url }}" type="audio/wav" />
Your browser does not support the audio element.
</audio>
</td>
<td>
<a href="{% url 'music:detail' song.album.id %}">
<img src="{{ song.album.album_logo.url }}" class="img-responsive" style="width: 20px; float: left; margin-right: 10px;" />
</a>
<a href="{% url 'music:detail' song.album.id %}">{{ song.album.album_title }}</a>
</td>
<td>
<a href="{% url 'music:favorite' song.id %}" class="btn-favorite"><span class="glyphicon glyphicon-star {% if song.is_favorite %}active{% endif %}"></span></a>
</td>
<td>
</td>
</tr>
{% endfor %}

如果你需要帮助,请告诉我。

最新更新