如何从Django表单文件字段提取文件对象
我已经创建了一个带有字段的模型表单,如何从Django表单文件字段提取文件对象,django,django-models,django-forms,django-file-upload,Django,Django Models,Django Forms,Django File Upload,我已经创建了一个带有字段的模型表单,标题,文件和内容。这里的文件是一个文件字段()。但是由于某些原因,我无法调用此表单的save()方法。因此,我必须创建一个模型对象,并为该对象指定清理后的值。除了那个文件字段,一切都正常。文件未保存。我怎样才能解决这个问题?提取文件字段的方法正确吗 形式 Views.py form = TestForm(request.POST,request.FILES) if form.is_valid(): content = form.cleaned_d
标题
,文件
和内容
。这里的文件
是一个文件字段()。但是由于某些原因,我无法调用此表单的save()
方法。因此,我必须创建一个模型对象,并为该对象指定清理后的值。除了那个文件字段,一切都正常。文件未保存。我怎样才能解决这个问题?提取文件字段的方法正确吗
形式
Views.py
form = TestForm(request.POST,request.FILES)
if form.is_valid():
content = form.cleaned_data['content']
file = form.cleaned_data['file']
title = form.cleaned_data['title']
fax = Fax()
fax.title = title
fax.file = file
fax.content = content
fax.save()
这里没有保存文件。我怎样才能解决这个问题?
任何帮助都将不胜感激 我想你可以用
request.FILES['file']
为了获取文件对象您是否在表单中使用了enctype=“multipart/form data”
代码似乎很好。请使用这种类型的验证。这可能有用
if request.method == 'POST':
form = ModelFormWithFileField(request.POST, request.FILES)
if form.is_valid():
# file is saved
form.save()
return HttpResponseRedirect('/success/url/')``
使用request.FILES['file'],而不是form.cleaned_data['file']——查看为什么不能调用表单上的save方法?这应该是正确的方法。@super9这是因为我用它创建了多个对象。代码中有一个循环,我省略了对它的简单描述
if request.method == 'POST':
form = ModelFormWithFileField(request.POST, request.FILES)
if form.is_valid():
# file is saved
form.save()
return HttpResponseRedirect('/success/url/')``