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

标签 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 %}

但是我无法播放该文件。

最佳答案

根据您的设置,您不能播放该文件,因为:

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

  • 要解决此问题,您需要:
  • 编辑您的models.pyclass AudioFile(models.Model): audio_file = models.FileField(upload_to="music")
    upload_to-将被添加到MEDIA_ROOT设置的路径,以确定url属性
  • 的值
  • 在模板中,使用{{ file.audio_file.url }}正确引用上载文件
  • 的URL
  • 您可能需要删除现有文件,因为在数据库中保存了错误的路径。
  • 关于python - 通过Django应用程序中的音频标签播放音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25101760/

    相关文章:

    python - 向 Pandas 添加行以完成序列

    python - 如何根据登录用户保留 Django Rest Framework Serializer 中的特定属性?

    django - 在真实服务器中部署 django-channels 的最佳方式

    file - 列出 Unix 目录中的重复文件

    image - 如何使用 Nest.js 框架向客户端返回图像?

    python - 从运行 fedora 的系统为我的 python 应用程序创建 debian 包

    python - 如何使用 python 将原始 json 数据 [作为 python 字典] 写入 Google 云存储?

    windows - 编写可移植应用程序时应该在哪里创建 PID/锁定文件

    python - 如何制作一个抽象的 Haystack SearchIndex 类

    python - 为什么 django 查询集不包含对我有用的内容?