Как установить заголовок «Accept-Range» в байты в HTTPResponse на запрос mp3 (media) в django

У меня возникли проблемы с добавлением функции поиска в мой музыкальный проигрыватель. Проблема возникает в Google Chrome, в то время как другие браузеры (Microsoft Edge, Firefox и т. д.) работают нормально. Подробнее о проблеме можно узнать здесь -> HTML-аудио не может установить currentTime

Я предполагаю, что проблема заключается в заголовке HttpResponse «Accept-Ranges», которого нет в данных заголовка. Это предлагается в ответах, представленных в ссылке, которую я предоставил выше.

Я новичок в программировании Django, поэтому я понятия не имею, как настроить заголовок Http. Из моего чтения я смог изменить заголовок своих представлений, но поскольку медиа обслуживается (обрабатывается) django, я не знаю, как отправить заголовок http в своем ответе. Было бы здорово, если бы сказали, как это сделать.


person KANE    schedule 20.04.2019    source источник
comment
Я думаю, нам нужно больше подробностей о том, как это обслуживается. Я предполагаю, что МЕДИА, но какой веб-сервер? Действительно ли он обслуживается через Django или /media/ обрабатывается по-другому (как это обычно бывает).   -  person Mark Bailey    schedule 20.04.2019
comment
Нет, это подается через django. Я использовал FileField для загрузки мультимедиа, и они хранятся в папке мультимедиа. Затем я получил доступ к аудиофайлу с помощью аудиоэлемента HTML5 с атрибутом src, установленным в нужное место в папке мультимедиа. Файл mp3 воспроизводится без буфера, но когда я попробуйте выполнить поиск, установив атрибут currenttime attritube, но он инициализируется равным 0 (я проверил, поставив простые значения как 10, 20). Хотя в Firefox и Microsoft Edge это работает правильно, как и предполагалось.   -  person KANE    schedule 20.04.2019
comment
Похоже, вы упираетесь в ограничения легковесного веб-сервера разработки, предоставляемого django-admin runserver. Я думаю, вам нужно будет попробовать это с подходящим веб-сервером. Из документов: НЕ ИСПОЛЬЗУЙТЕ ЭТОТ СЕРВЕР В ПРОИЗВОДСТВЕННОЙ НАСТРОЙКЕ. Он не прошел аудит безопасности или тесты производительности. (И так оно и останется. Мы занимаемся созданием веб-фреймворков, а не веб-серверов, поэтому улучшение этого сервера, чтобы он мог работать в производственной среде, выходит за рамки Django.)   -  person Mark Bailey    schedule 20.04.2019
comment
Да, это определенно выглядит ограниченным... Спасибо за ваше время.   -  person KANE    schedule 20.04.2019