2013-05-05 3 views
0

я в настоящее время есть Django настроить для загрузки файлов:Джанго служат файлы за пределами корневой директории веб

/путь/к/проекта/загрузки

Это прекрасно работает. Эта папка находится в корневой папке проекта, поэтому файлы нельзя обслуживать напрямую с веб-URL, что я хочу, файлы «CV» загружаются пользователями.

Я посмотрел на стороннее приложение django с именем filetransfers, которое выполнило бы эту работу, но мне интересно, есть ли способ с ядром Django для работы с файлами из-за пределов медиа-папки.

Любая помощь будет отличной.

Энди

ответ

0

Разрешено использование FileWrapper().

Спасибо в любом случае.

0

Если то, что вы хотите, чтобы держать под контроль того, как файлы подаются/кто может видеть их и т.д., то самое простое решение, чтобы написать настраиваемое представление тезисы выступающих файлы. Вам просто нужно предоставить содержимое файла в качестве тела ответа и установить соответствующие заголовки ответов (тип файла, длина содержимого и т. Д.). Чтение части FineManual (tm) об объекте Response должно быть хорошей отправной точкой.

2

В зависимости от того, какой веб-сервер вы используете, я бы рекомендовал использовать X-sendfile, если вы используете Apache или X-accel-redirect, если используете Nginx. Но помните, что вам нужно будет изменить настройки на своем веб-сервере. Но это гораздо эффективнее, чем использовать Django для работы с файлами.

Смежные вопросы