首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用formset上传多个文件?

使用formset上传多个文件?
EN

Stack Overflow用户
提问于 2014-07-22 16:41:10
回答 1查看 919关注 0票数 0

models.py

代码语言:javascript
复制
class Album(models.Model):
    file_upload = models.FileField(upload_to=content_file_name)
    name_content = models.CharField(max_length=100)

和函数在这里

代码语言:javascript
复制
def content_file_name(instance, filename):
    upload_dir = os.path.join('uploads', 'resource')
    return os.path.join(upload_dir, filename)

forms.py

代码语言:javascript
复制
class Albumform(forms.Form):
    name_content = forms.CharField(max_length=100)
    file_upload = forms.FileField( 'please select' )

这是我的views.py

代码语言:javascript
复制
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看起来像这样。

代码语言:javascript
复制
<form action="" method="POST" enctype="multipart/form-data">
    {{ formset.management_form }}
    {% csrf_token %}
    <table>
        {% for form in formset.forms %}
            {{ form }}
        {% endfor %}
    </table>

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

EN

回答 1

Stack Overflow用户

发布于 2014-07-22 18:18:51

如果你想上传多个文件,那么你需要多个文件字段。这是您的选择A。如果您选择使用它,请创建表单集并使用它来提供多个文件上传。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24882657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档