UploadFileForm(request.POST,request.FILES)返回null

时间:2018-08-15 07:30:16

标签: django

我正在尝试使用django上传文件,并且编写了以下代码:

from django import forms
class UploadFileForm(forms.Form):
    title = forms.CharField(max_length=50)
    file = forms.FileField()

def uploadexcel(request):
if request.method == 'POST':
    form = UploadFileForm(request.POST, request.FILES)
    print(form)
    print(form.is_valid())
    print(form.errors)
    if form.is_valid():
        print("success")    
else:
    form = UploadFileForm()
return render(request,'index.html', {'form': form})

我可以获得 request.POST request.FILES 的值。
我使用form = UploadFileForm(request.POST,request.FILES)构建 form 但是 form 的值为空

2 个答案:

答案 0 :(得分:0)

实例化您的表单。

form = UploadFileForm(data=request.POST, files=request.FILES)

答案 1 :(得分:0)

问题可能出在这里

  

请注意,如果request方法,则request.FILES仅包含数据   是POST,发布请求的具有属性   enctype =“ multipart / form-data”。否则,request.FILES将为空。

阅读文档 https://docs.djangoproject.com/en/2.2/topics/http/file-uploads/