File upload 使用Django上载文件:表单无效
第一次发布问题。我基本上复制了我在这里和django文档网站上找到的所有内容,我无法找出我做得不对的地方 下面是myviews.py文件中的代码File upload 使用Django上载文件:表单无效,file-upload,django-forms,django-views,File Upload,Django Forms,Django Views,第一次发布问题。我基本上复制了我在这里和django文档网站上找到的所有内容,我无法找出我做得不对的地方 下面是myviews.py文件中的代码 from django import forms class UploadFileForm(forms.Form): title = forms.CharField(max_length=50) file = forms.FileField() def upload_file(request): form = Upl
from django import forms
class UploadFileForm(forms.Form):
title = forms.CharField(max_length=50)
file = forms.FileField()
def upload_file(request):
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
response = "Form is valid."
else:
response = "Failed to upload attachment."
return HttpResponse(response)
和我的html文件:
<form name="attachmentForm" action="http://mysite.com/uploadattachments" enctype="multipart/form-data" method="post">
<p>
Please specify a file, or a set of files:<br/>
<input id="attachment" type="file" name="datafile" size="40"/>
</p>
<input type="submit" value="Send"/>
</form>
请指定一个文件或一组文件:
当我测试它时,我得到“上传附件失败”。这里有什么明显的我遗漏的吗?我对django也有点陌生,所以如果这只是一个愚蠢的错误,我道歉。
提前谢谢 对此不完全确定,但我猜,由于在UploadFileForm类的定义中,您已将表单字段命名为
file
和title
,因此html中表单字段的name
属性必须与之匹配,即文件上载字段必须命名为“file”,并且还必须有一个“title”场
我建议您看看哪里有关于如何自动或半自动呈现表单的示例。使用自动呈现表单后,您可以根据需要对其进行自定义。谢谢您的回复。我试着改变名字,使之匹配,但它仍然给我同样的反应。我还浏览了django站点上的示例,使代码变得非常简单和愚蠢,但它仍然没有传递表单。让名字匹配肯定解决了部分问题。