我正在尝试使用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 的值为空
答案 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/