相关疑难解决方法(0)

在django中使用相同的输入名称上载多个文件

我在上传具有相同输入名称的多个文件时遇到问题:

<input type=file name="file">
<input type=file name="file">
<input type=file name="file">
Run Code Online (Sandbox Code Playgroud)

在django一边

print request.FILES :

<MultiValueDict: {u'file': [
<TemporaryUploadedFile: captcha_bg.jpg (image/jpeg)>,
<TemporaryUploadedFile: 001_using_git_with_django.mov (video/quicktime)>,
<TemporaryUploadedFile: ejabberd-ust.odt (application/vnd.oasis.opendocument.text)>
]}>
Run Code Online (Sandbox Code Playgroud)

所以这三个文件都在单个request.FILES ['file']对象下.我如何处理从这里上传的每个文件?

django upload file-upload file

20
推荐指数
2
解决办法
2万
查看次数

Django:上传多个文件.cleaning_data ['file']中所需文件列表

我按照文档的模式,上传了几个文件forms.FileField:

https://docs.djangoproject.com/en/1.11/topics/http/file-uploads/#uploading-multiple-files

不幸的是,cleaned_data['file']它包含一个文件,而不是两个文件

要将所有上传的文件打开,需要做些什么cleaned_data['file']

以下是文档中的代码:

forms.py

from django import forms

class FileFieldForm(forms.Form):
    file_field = forms.FileField(widget=forms.ClearableFileInput(attrs={'multiple': True}))
Run Code Online (Sandbox Code Playgroud)

views.py

from django.views.generic.edit import FormView
from .forms import FileFieldForm

class FileFieldView(FormView):
    form_class = FileFieldForm
    template_name = 'upload.html'  # Replace with your template.
    success_url = '...'  # Replace with your URL or reverse().

    def post(self, request, *args, **kwargs):
        form_class = self.get_form_class()
        form = self.get_form(form_class)
        files = request.FILES.getlist('file_field')
        if form.is_valid():
            for f in files:
                ...  # Do something with each …
Run Code Online (Sandbox Code Playgroud)

django file-upload

9
推荐指数
2
解决办法
3181
查看次数

标签 统计

django ×2

file-upload ×2

file ×1

upload ×1