我正在编写一个文件上传器,其中包含两个属性,供用户上传1到3个文件。到目前为止,我已经提出:
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'
和网址u'www.baz.com'
的文件,则第一次迭代将如下所示:
file: <file>
text: u'f'
url: u'w'
我该如何解决这个问题?
答案 0 :(得分: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)