3

Я хочу, чтобы загрузить и сохранить несколько файлов в моем приложении, у меня есть
<input type="text" name="name" value="" />
<input type="file" name="file" multiple/>

в моем шаблоне. когда я удаляю загрузку, кажется
form = MyForm(request.POST, request.FILES)
сохраняет только один файл, который является последним в списке многих загруженных файлов. Как я могу сохранить все загруженные файлы, используя форму form = MyForm(request.POST, request.FILES) blah blah? Благодарясохранить несколько загруженные файлы в Джанго

Редактировать
Myform модель формы этой модели.

class Docs(models.Model):  
    name = models.CharField(max_length=128) 
    file = models.FileField(max_length=100, upload_to="documents/") 

ответ

4

Вы, возможно, использовать request.FILES['file'] или request.FILE.get('file') в Myform. Они только возвращают файл.

Используйте request.FILE.getlist('file'), чтобы получить несколько файлов.


На ваш взгляд:

.... 
form = MyForm(request.POST, request.FILES) 
if form.is_valid(): 
    name = form.cleaned_data['name'] 
    for f in request.FILES.getlist('file'): 
     Docs.objects.create(name=name, file=f) 
    return HttpResponse('OK') 
... 
+0

Благодаря @falsetru, как спасу файлы, используя форму? – Alexxio

+0

@AlexKasina, Как я прокомментировал в вашем вопросе, сложно ответить без кода «MyForm». – falsetru

+0

@AlexKasina, Определите метод 'save' (например), который каким-то образом использует' request.FILE.getlist'. (Я могу ответить только так) – falsetru

Смежные вопросы