2016-05-10 14 views
0

1から3のファイルをアップロードするユーザーに対して、2つの属性を持つファイルアップローダを作成しています。forループで複数のiterableを割り当てる

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を使用すると、2つの文字列が文字単位で反復されます。私は、テキスト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) 
関連する問題