File upload 使用Django上载文件:表单无效

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

第一次发布问题。我基本上复制了我在这里和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 = 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站点上的示例,使代码变得非常简单和愚蠢,但它仍然没有传递表单。让名字匹配肯定解决了部分问题。