通过Django应用程序中的音频标签播放音频

时间:2014-08-03 04:54:03

标签: python django file audio

如何使用html 5的音频标签播放已在基于django的应用程序中上传的音频文件。
models.py - Link
settings.py - Link

在我的模板中,我按以下方式使用audio标记 -

    {% for file in audio %}
    <li>
    <h4>{{ file.title }}</h4>
    <div id="name"><a href="{{ file.audio_file }}" target="_blank">{{ file.name }}</a></div>
    <div id="play"><audio src="{{ file.audio_file }}" controls="controls">
      Your browser does not support the audio element.
    </audio></div>
    </li>
   {% endfor %}

但我无法播放该文件。

1 个答案:

答案 0 :(得分:1)

根据您的设置,您无法播放该文件,因为:

  • {{ file.audio_file }}返回保存在数据库中的值,即绝对路径到媒体文件,例如http://localhost:8000/Users/test/django_app/media/test.wav

要解决此问题,您需要:

  1. 修改您的models.py

    class AudioFile(models.Model): audio_file = models.FileField(upload_to="music")

    upload_to - 将附加到MEDIA_ROOT设置以确定url属性值的路径

  2. 在您的模板中,使用{{ file.audio_file.url }}正确引用上传文件的网址

  3. 您可能需要删除现有文件,因为数据库中保存了错误的路径。