虽然有很多主题,但我找不到正确的问题+答案,我的问题是:
我正在尝试编写文件上传。一旦我提交表格,就会出现这个错误:
MultiValueDictKeyError at /anzeige_save/
Key 'file' not found in <MultiValueDict: {}>
这是我的模型:
class Anzeige(models.Model):
titel = models.CharField(max_length=300)
anzeige = models.CharField(max_length=1000)
date = models.DateTimeField()
datum = models.CharField(max_length=12)
file = models.FileField(upload_to='/anzeige/D-d-M-Y/')
def __unicode__(self):
return self.titel
这是我的观点:
if request.path == '/anzeige_save/':
anzeige=Anzeige(titel=request.POST['titel'], anzeige=end_anzeige,date=datetime.datetime.now(), datum=request.POST['datum'],file=request.FILES['file'])
anzeige.save()
return HttpResponse("Anzeige saved successfully")
这是我在前端的ajax:
var title = document.getElementById(title).value;
var body = document.getElementById(body).value;
var file = document.getElementById(name_file).value;
var datum = document.getElementById(datum).value;
if(title==" " || body==" " || title=="" || body=="" || datum=="" || datum==" " ){
alert("Please fill out all!");
}else{
$.ajax({
url: "/anzeige_save/",
type: "POST",
data: {anzeige:body,titel:title,file:file,datum:datum},
}).success(function(data){
$(succ_message).text(data);
$(succ_message).fadeIn(1000);
$(succ_message).fadeOut(2000);
})
}
这是格式的文件:
...
<input type="file" id="name_file" name="name_file" size="40" maxlength="100000"><br />
...
我在这里错过了什么吗?
我有带有文件字段的模型,并且我正在将其他字段(包括文件)保存到实例中。
感谢您的光临!:)