【问题标题】:Django: can't bind an uploaded image to a form ImageField()Django:无法将上传的图像绑定到表单 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方法,没关系。我没有显示页面的警告,只有“未选择文件”。

感谢您的帮助。抱歉这篇文章的格式,我是stackoverflow和django的新手。

【问题讨论】:

  • SimpleUploadedFile 第三个参数 content_type 默认为 'text/plain',会不会是问题所在?
  • 仍然无法使用 'image/jpeg'

标签: python django forms binding upload


【解决方案1】:

对此我不确定,但根据 django 文档,在绑定表单上,数据和文件不是 kwargs,而是 args,所以试试这个:

form = SettingsForm(data, files)

【讨论】:

  • 不幸的是,这段代码正在工作: if request.method == 'POST': form = SettingsForm(data=request.POST, files=request.FILES,...) 我正在使用 kwargs因为我在表单代码中调用 Super() 。你看不到它,因为我没有粘贴我的表单的完整代码,是吗?谢谢你的帮助
猜你喜欢
  • 1970-01-01
  • 2015-02-22
  • 1970-01-01
  • 2015-04-27
  • 1970-01-01
  • 1970-01-01
  • 2016-04-23
  • 2018-11-27
  • 2020-11-20
相关资源
最近更新 更多