I have created a requests object like this:
obj.mp3 = requests.get('http://foo.com/bar.mp3', stream=True)
I thought that I could just feed this obj.mp3
object into any audio player that expects a file or an URI, obviously this idea is wrong: nothing played. Below are the full code:
#views.py
class ArticleDetailView(DetailView):
model = Article
template_name = 'song.html'
def get_object(self):
obj = super(ArticleDetailView, self).get_object()
#code to store mp3 url in obj.mp3 and other stuff
if obj.mp3:
obj.mp3 = requests.get(obj.mp3, stream=True).content
return obj
#song.html
<div class="audio">
<audio src={{ article.mp3 }} type="audio/mpeg">
</div>
What is the correct way of treating return from requests
as something that I can stream with a player? I know at least I can write the obj.mp3
to a file, then just point the player to the file location, but I am trying to avoid write the file to disk.
Thanks,