Получить элементы из запроса. ФАЙЛЫ - PullRequest
1 голос
/ 08 ноября 2019

Я пытался получить элементы по request.FILES: из ввода <input type='file' name='images' multiple> Я получаю, чтобы django просматривал данные:

<MultiValueDict: {
u'images': [
<InMemoryUploadedFile: Men_Mother_Boys_Little_girls_Smi.jpg (image/jpeg)>,
<InMemoryUploadedFile: tumblr_p4fq65rkPh1uc0ho8o1_1280.jpg (image/jpeg)>, 
<InMemoryUploadedFile: tumblr_nxq18wYT4l1uc0ho8o1_500.jpg (image/jpeg)>, 
<InMemoryUploadedFile: ddc4790b00ee3c8d51c106afa76a4dc7.jpg (image/jpeg)>, 
<InMemoryUploadedFile: 9961f0d0ea1b54cdd9d4a2c58a66c6be.jpg (image/jpeg)>
]}>

Я пытаюсь получить список файлов:

images = self.request.FILES.get('images', None)

Но на изображениях всегда я получаю только один <InMemoryUploadedFile>, хотя ожидаю список InMemoryUploadedFile. Я проверил:

    print(type(self.request.FILES))  #<MultiValueDict: {u'images': [<InMemoryUploadedFile:
    print(type(images))              #InMemoryUploadedFile

Я нахожу это довольно нетипичным для поведения словаря. Может быть, это заранее запланированное поведение, предназначенное для получения одного файла. Это так и должно быть?

1 Ответ

1 голос
/ 08 ноября 2019

Как указано в выходных данных, вы работаете с MultiValueDict, поэтому вы можете использовать метод getlist [GitHub] :

images = self.request.FILES.<b>getlist(</b>'images', None<b>)</b>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...