Мёртвое простое вставляемое поле для загрузки нескольких файлов для форм django с использованием атрибута множественного HTML5
довал шаблону документов, чтобы загрузить несколько файлов однимforms.FileField
:
https://docs.djangoproject.com/en/1.11/topics/http/file-uploads/#uploading-multiple-files
к несчастьюcleaned_data['file']
содержит один файл, а не оба файла.
Что нужно сделать, чтобы все загруженные файлы были включеныcleaned_data['file']
?
Вот код из документов:
forms.py
from django import forms
class FileFieldForm(forms.Form):
file_field = forms.FileField(widget=forms.ClearableFileInput(attrs={'multiple': True}))
views.py
from django.views.generic.edit import FormView
from .forms import FileFieldForm
class FileFieldView(FormView):
form_class = FileFieldForm
template_name = 'upload.html' # Replace with your template.
success_url = '...' # Replace with your URL or reverse().
def post(self, request, *args, **kwargs):
form_class = self.get_form_class()
form = self.get_form(form_class)
files = request.FILES.getlist('file_field')
if form.is_valid():
for f in files:
... # Do something with each file.
return self.form_valid(form)
else:
return self.form_invalid(form)
Обновить
Для решения этой проблемы существует запрос на извлечение:https://github.com/django/django/pull/9011