Несколько загрузок файлов с помощью набора форм?

models.py

class Album(models.Model):
 file_upload = models.FileField(upload_to=content_file_name)
 name_content = models.CharField(max_length=100)

И функция здесь

def content_file_name(instance, filename):
 upload_dir = os.path.join('uploads', 'resource')
 return os.path.join(upload_dir, filename)

forms.py

class Albumform(forms.Form):
 name_content = forms.CharField(max_length=100)
 file_upload = forms.FileField( 'please select' )

Это мой view.py

from django.forms.formsets import formset_factory
def viewalbum(request): 
 AlbumFormSet = formset_factory(Albumform, extra=3, max_num=10,)
 if request.method == 'POST':
 formset = AlbumFormSet(request.POST, request.FILES)
 if formset.is_valid():
 albumvalue = Album()
 albumvalue.name_content = request.POST.get('name_content', None)
 albumvalue.file_upload = request.FILES['file_upload']
 albumvalue.save()


 return HttpResponseRedirect(reverse('views.viewalbum'))
 else:
 formset = AlbumFormSet()
 return render_to_response('audio/test.html',{'formset': formset}, context_instance=RequestContext(request))

и html выглядит так

<form action="" method="POST" enctype="multipart/form-data"><code>{{ formset.management_form }}
 {% csrf_token %}
 
 {% for form in formset.forms %}
 {{ form }}
 {% endfor %}</code>  <p> Проблема в том, что я могу загрузить только один файл в то время. Дайте мне решение загрузить несколько файлов за одно и то же время и сохранить их в папке с ресурсами. благодаря</p> </form>
1 ответ

Если вы хотите загрузить несколько файлов, вам потребуется несколько файловых полей. Это ваш вариант A. Если вы решите пойти на это, создайте набор форм и используйте его для обеспечения множественной загрузки файлов.

ваш вариант B заключается в использовании каких-то виджетов javascript, которые делают возможным несколько загрузок файлов.

licensed under cc by-sa 3.0 with attribution.