【问题标题】:Playing audio through audio tag in a Django application在 Django 应用程序中通过音频标签播放音频
【发布时间】:2014-08-03 04:54:02
【问题描述】:

如何使用 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 %}

但我无法播放该文件。

【问题讨论】:

    标签: python django file audio


    【解决方案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 }}正确引用上传文件的URL

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-16
      • 2016-06-17
      • 1970-01-01
      • 1970-01-01
      • 2017-04-12
      相关资源
      最近更新 更多