2016-02-04 2 views
1

Существует проблема с воспроизведением звука в моем проекте. У меня есть worder.html где есть информация о слове и его произношении. Проблема в том, что кнопка PLAY не активна, и я не могу слушать произношение.Воспроизведение аудио в шаблоне. Django

Вот как это выглядит в шаблоне:

<h2>{{ showword.title }}</h2> 

    <audio controls preload="auto"> 
    <source src="{{ showword.audio }}" type="audio/mpeg"> 
    </audio> 

    <p class="translation"> Русский: {{ showword.russian|safe }}</p> 
<p class="translation"> English: {{ showword.english|safe }}</p> 
<p class="translation"> Türkçe: {{ showword.turkish|safe }}</p> 

аудиофайлы загрузить администратора, пользователи не могут загрузить их.

Это как моя модель выглядит следующим образом:

class word(models.Model): 
    title = models.CharField(max_length=100) 
    audio = models.FileField(upload_to='Dictionary/media', blank=True) 
    russian = models.TextField(default='', blank=True) 
    english = models.TextField(default='', blank=True) 
    turkish = models.TextField(default='', blank=True) 

Это мои настройки СМИ:

MEDIA_ROOT = '/PycharmProjects/Test/Dictionary/media/' 

MEDIA_URL = '/media/' 

ответ

1

Обратитесь к файлу в шаблонах с помощью url attribute of FileField:

<source src="{{ showword.audio.url }}" type="audio/mpeg"> 
+0

Спасибо для вашего ответа, но теперь у меня другая проблема. Если нет загруженного аудиофайла для сообщения, которое он показывает ** ValueError at/worder/8/ Атрибут 'audio' не имеет связанного с ним файла. ** – Bootuz

+0

Вы можете скрыть виджет, если нет аудиофайла. Просто окружайте код с помощью '{% if showword.audio%} {% endif%}' – Leistungsabfall

+0

да, это помогает, спасибо @Leistungsabfall! – Bootuz