Привет ЛОР. Есть один сайт, и на сайте нужно запилить видео с ограничением доступа - т.е чтобы его видеть (и скачивать) мог только тот, кто залогинен. Для единообразия было решено загружать все видео в webm-формате, выводить через html5 и играть этой штукой http://www.projekktor.com/ Чтобы обеспечить ограничения, было решено отдавать видеофайл через питоновский FileWrapper:
def serve_video(request, id):
if request.user.is_authenticated():
v = SiteVideo.objects.get(id=id)
file = FileWrapper(open(v.file.path, 'rb'))
response = HttpResponse(file, content_type='video/webm')
response['Content-Length'] = os.path.getsize(v.file.path)
return response
else:
raise Http403