Форум сайта python.su
Файл хранится на сервере медиа. Можно ли в response подставить сам файл (или путь к нему), чтобы при клике на кнопку django передавал данные в функцию views, а она сразу возвращала файл а не делала что то подобное :
with open(path,'r') as fd: mtype = magic.from_file(path,True) # можно и без mimetypes, но позволяет сразу открывать файл в нужной программу response = HttpResponse(fd,content_type=mtype) response['Content-Disposition'] = 'attachment; filename="%s"' % # here is name of file return response
Отредактировано SoT (Окт. 15, 2013 18:28:19)
Офлайн
Можно отдать файл сервером, а не приложением. Для этого пользуются заголовком “X-Accel-Redirect”.
Вот здесь подробно разжевано: http://www.wellfireinteractive.com/blog/nginx-django-x-accel-redirects/
Но там есть масса нюансов, которые стоит учесть - например поддержка докачки итп:
Довольно много из них у Сагалаева раскрыто: http://softwaremaniacs.org/blog/2006/04/18/controlled-download/
Отредактировано alrusdi (Авг. 4, 2014 11:52:48)
Офлайн
Спасибо огромное ! очень исчерпывающе. И отдельное спасио за вторую ссылку .
Офлайн