Python публиковать большие файлы в Django - PullRequest
4 голосов
/ 19 декабря 2009

Я пытаюсь найти лучший (самый эффективный) способ отправки больших файлов из приложения python на сервер Django.

Если я полагаюсь на raw_post_data на стороне Django, то все содержимое должно быть в ОЗУ, прежде чем я смогу его прочитать, что не кажется эффективным, если полученный файл имеет сотни мегабайт.

Лучше ли использовать методы загрузки файлов, которые есть у Django. Это означает использование сообщения multipart / form-data.

или, может быть, что-то лучше?

Laurent

Ответы [ 2 ]

6 голосов
/ 19 декабря 2009

Я думаю, что в памяти хранятся только файлы размером менее 2,5 МБ, любой файл, размер которого превышает 2,5 МБ, передается или записывается во временный файл во временной папке

ссылка: http://simonwillison.net/2008/Jul/1/uploads/ и здесь http://docs.djangoproject.com/en/dev/topics/http/file-uploads/

2 голосов
/ 19 декабря 2009

Если вы действительно хотите оптимизировать его и не хотите, чтобы Django страдал во время потоковой передачи байтов и, таким образом, занимая один из потоков Django, вы можете использовать модуль загрузки nginx (см. также это сообщение в блоге )

...