允许用户使用 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']
等会很方便,而不必自己进行验证。
谢谢。