HTML5 плеер показывает на веб-странице, но не воспроизводится звук mp3 - PullRequest
0 голосов
/ 14 марта 2020

Я новичок в программировании, я пытаюсь разместить mp3-файл и проигрыватель на веб-странице django, которую показывает проигрыватель, но песня не воспроизводится.

**models.py** 

from django.db import models
from django.contrib.auth.models import User


class Song(models.Model):
    name = models.CharField(max_length=125)
    audio_file = models.FileField('media/')

**audio.html**
    <!DOCTYPE html>
<html>
<body>

<audio controls>
  <source src="JesusChrist.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>

</body>
</html>

**media folder**
JesusChrist.mp3

**Settings.py**

STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'firegod/static/media')
]

STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'media')
STATIC_URL = '/media/'

1 Ответ

0 голосов
/ 16 марта 2020

Это видео является отличным справочником, и должно разобрать все. Он показывает, где файлы go когда они загружены и как получить к ним доступ в шаблонах.

Другая проблема, с которой вы столкнулись, заключается в следующем:

# Sets STATIC_ROOT
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
# Sets STATIC_URL
STATIC_URL = '/static/'

# Overwrites STATIC_ROOT
STATIC_ROOT = os.path.join(BASE_DIR, 'media')
# Overwrites STATIC_URL
STATIC_URL = '/media/'

Я считаю, что вы хотите:

STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

, и тогда вы сможете найти файл в src="media/audio.mp3". Если вам нужно, print URL-адрес загруженного файла, чтобы вы знали, где его найти.

Я собираюсь углубиться в это, так что я могу быть немного не в себе, хотя я знаю, что видео связано Выше было очень полезно.

...