Django:无法将上传的图像绑定到表单 ImageField()
Posted
技术标签:
【中文标题】Django:无法将上传的图像绑定到表单 ImageField()【英文标题】:Django: can't bind an uploaded image to a form ImageField() 【发布时间】:2011-05-14 10:34:23 【问题描述】:这是我的问题,我创建了这个表单:
class SettingsForm(forms.Form):
...
logo = forms.ImageField()
...
上传工作正常,我设法显示图像,但无法将其绑定到表单。这是我所做的:
data = ...
files = 'logo': SimpleUploadedFile('logo.jpg', logo.read())
form = SettingsForm(data=data, files=files)
徽标对象是ImageFieldFile
。我已经在shell中测试了read方法,没关系。我没有显示页面的警告,只有“未选择文件”。
感谢您的帮助。抱歉这篇文章的格式,我是***和django的新手。
【问题讨论】:
SimpleUploadedFile 第三个参数 content_type 默认为 'text/plain',会不会是问题所在? 仍然无法使用 'image/jpeg' 【参考方案1】:对此我不确定,但根据 django 文档,在绑定表单上,数据和文件不是 kwargs,而是 args,所以试试这个:
form = SettingsForm(data, files)
【讨论】:
不幸的是,这段代码正在工作: if request.method == 'POST': form = SettingsForm(data=request.POST, files=request.FILES,...) 我正在使用 kwargs因为我在表单代码中调用 Super() 。你看不到它,因为我没有粘贴我的表单的完整代码,是吗?谢谢你的帮助以上是关于Django:无法将上传的图像绑定到表单 ImageField()的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 django-storages 将图像上传到亚马逊 S3?在管理员中上传有效,但在网站表单中无效