使用表单集进行多个文件上传?

2024-09-27 23:24:36 发布

您现在位置:Python中文网/ 问答频道 /正文

在模型.py在

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

功能就在这里

^{pr2}$

在表单.py在

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

这是我的视图.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">
    {{ formset.management_form }}
    {% csrf_token %}
    <table>
        {% for form in formset.forms %}
            {{ form }}
        {% endfor %}
    </table>

问题是我一次只能上传一个文件。给我一个解决方案,在同一时间上传多个文件,并保存到资源文件夹。谢谢


Tags: namepyformmodelsrequestformscontentpost
1条回答
网友
1楼 · 发布于 2024-09-27 23:24:36

如果要上载多个文件,则需要多个文件字段。这是您的选项A。如果您选择使用它,请创建表单集并使用它来提供多个文件上载。在

您的选择B是使用某种javascript小部件,使多个文件上传成为可能。在

相关问题 更多 >

    热门问题