У меня есть приложение Django, которому требуется доступ к чтению многокомпонентных файловых загрузок в виде файловоподобных объектов по мере их загрузки, что означает, что мне нужен более или менее синхронный доступ к объекту запроса и способу распаковать его кусками в бинарные данные. К сожалению, Django обрабатывает загрузки, перемещая их непосредственно в память или во временные файлы, что не подходит для моего варианта использования.
Кто-то рекомендовал мне использовать gevent/greenlet для обработки загрузки, но я не уверен, как это влияет на уравнение и какая настройка требуется вместе с Django, чтобы он работал. Кроме того, запуск чего-то вне Django означал бы, что мне пришлось бы реализовать уровень подключения к базе данных, чтобы проверить, разрешена ли загрузка (используя идентификатор билета).
С учетом сказанного, как я могу это настроить? Django должен работать в приложении WSGI, и кто-то также порекомендовал написать второе приложение WSGI для захвата одного URL-пути для загрузки. Я хотел бы, по сути, максимально использовать преимущества платформы Django, имея возможность синхронно читать загрузки?
(Я только что познакомился с библиотекой requests
Python и должен сказать, что являюсь ее большим поклонником, хотя я ничего не знал об ее использовании в контексте сервера.)