允許用戶使用Django進行任意數量的文件上傳的最佳方式是什麼?Django中的任意文件上傳數
如果我知道我會允許用戶做了兩個文件上傳,然後我可能只是這樣做在我的forms.py
...
from django import forms
class UploaderForm(forms.Form):
file1 = forms.FileField(upload_to='user_files')
file2 = forms.FileField(upload_to='user_files')
...這在我views.py
.. 。
...
if request.method == 'POST':
form = UploaderForm(request.POST)
if form.is_valid():
form.save()
# do something.
else:
form = UploaderForm()
...
不過,我打算使用的前端JavaScript來讓用戶不斷增加新的元素<input type="file" name="fileN" />
(其中N是第N個文件上傳字段添加到頁面。)用戶可以選擇請選擇一個或多個文件進行上傳。
有什麼方法可以使用Django的內置窗體來完成這個任務嗎?
如果我懷疑我不能使用Django表單來生成表單,我可以使用Django的驗證嗎?即能夠訪問form.cleaned_data['file0']
,form.cleaned_data['file1']
等而非必須進行我自己的驗證將是方便的。
謝謝。
夥計。甜。這看起來正是我需要的。我聽說過Django Formsets,但還沒有使用它們。謝謝! – 2011-02-25 00:07:48
嘿,沒問題!是的,這非常有用 – 2011-02-25 00:10:56