我正在尝试开发一个最小的文本文件上传示例。这就是我 目前有。每当我使用选定的文件提交表单时,其验证都会失败。
这是表格
class UploadFileForm(forms.Form):
file = forms.FileField()
这是视图
def add_view(self, request, form_url='', extra_context=None):
if request.method == 'POST':
form = UploadFileForm(request.POST)
if form.is_valid():
file = form.cleaned_data["file"]
.....
.....
else:
form = UploadFileForm()
return render(request, 'upload.html', {'form': form})
这是模板:upload.html
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
{{ form|crispy }}
<input type="submit" value="Submit" />
</form>
我知道有几个例子,但是我想知道我的代码可能有什么问题。每当我提交文件时,表单验证都会失败。
答案 0 :(得分:4)
由于您在表单中使用FileField,因此必须有一个request.FILES来从表单中获取文件。
form = UploadFileForm(request.POST,request.FILES)