我有一个input
字段对应于Django模板中的Django ImageField
。渲染时,HTML看起来像:从POST请求丢失图像输入
<form action="/accounts/username/"
method="post"
id="profile_form"
enctype="multipart/form-data">
</form>
... (other input fields and elements)
<input form="profile_form" id="id_profile_pic" name="profile_pic" type="file" />
相应View
是UpdateView
。我发现request.FILES
为空,request.cleaned_data
包含'profile_pic': None
。
我用firebug来跟踪POST数据。它包含其他领域,但不包括profile_pic
。
我的罪过是什么?为什么文件没有上传?
不幸的是,你错了。所有其他输入字段在窗体标签之外类似地构造并且仍然被发送到服务器。我还应该提到,出于迷信的考虑,我尝试将文件输入标签放在表单中,但这也没有帮助。 请参阅form的属性:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input#Attributes – battery 2014-11-21 10:51:54
我的第二个猜测是将_just_的输入类型,例如。到文本输入,并验证它传输。然后你确认问题纯粹是关于文件输入的,这很可能无论如何都是因为它们需要很多不寻常的处理。 – 2014-11-21 10:55:13
Re:'form'属性:今天我学到了一些东西! – 2014-11-21 10:55:51