Я реализую интерфейс в стиле REST и хотел бы иметь возможность создавать (посредством загрузки) файлы через HTTP-запрос PUT. Я хотел бы создать либо TemporaryUploadedFile
, либо InMemoryUploadedFile
, который я затем могу передать в мои существующие FileField
и .save ()
на объект, который является частью модели, тем самым сохраняя файл.
Я не совсем уверен в том, как обрабатывать часть загрузки файла. В частности, поскольку это запрос на размещение, у меня нет доступа к request.FILES
, так как он не существует в запросе PUT
.
Итак, некоторые вопросы:
HttpRequest
, в частности ту часть, которая обрабатывает загрузку файлов? Я знаю, что прямой PUT
не является составным MIME-запросом, поэтому я так не думаю, но его стоит спросить. TemporaryUploadFile
и связанный с ним код - записал его по частям? Я взглянул на этот пример кода , который обманом заставляет Django обрабатывать PUT
как запрос POST
. Если я правильно понял, он будет обрабатывать только данные, закодированные в форме. Это REST, поэтому лучшим решением было бы не предполагать, что данные, закодированные в форме, будут существовать. Тем не менее, я рад услышать соответствующие советы по использованию MIME (не multipart) как-то (но загрузка должна содержать только один файл).
Django 1. 3 приемлемо. Так что я могу что-нибудь сделать с помощью request.raw_post_data
или request.read ()
(или, альтернативно, другого лучшего метода доступа). Есть идеи?