2016-05-10 2 views
0

Я пишу файл-загрузчик с двумя атрибутами для пользователя, загружающего от 1 до 3 файлов. До сих пор я придумал:Назначение нескольких итераций в цикле for

for (file, text, url) in zip(request.FILES, request.POST['portfolio-text'], request.POST['portfolio-url']): 
    new_file = File.objects.create(user=request.user, file=request.FILES[file], text=text, url=url) 

проблема, которая возникает с этим request.POST['portfolio-text'] и request.POST['portfolio-url'] являются строками. С помощью zip две строки повторяются на основе символа по символам. Так что, если у меня есть один файл с текстом u'foo' и URL u'www.baz.com' первая итерация будет выглядеть следующим образом:

file: <file> 
text: u'f' 
url: u'w' 

Как это исправить?

ответ

2

Я думаю, что это будет работать:

for (file, text, url) in zip(request.FILES, [request.POST['portfolio-text']], [request.POST['portfolio-url']]): 
    new_file = File.objects.create(user=request.user, file=request.FILES[file], text=text, url=url) 
Смежные вопросы