You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何使用Django ImageField时出现‘This field is required’错误?

解决Django ImageField提示字段为空的问题

你的问题根源在于HTML表单里的enctype属性拼写错误——你写成了enctyppe="multipart/form-data",正确的拼写是enctype="multipart/form-data"(多写了一个p)。这个错误会导致浏览器无法正确编码并上传文件,所以request.FILES中接收不到图片数据,表单自然会判定picture字段为空。

修正后的post.html代码:

<form action="" method="POST" enctype="multipart/form-data">
    {% csrf_token %}
    {{form.as_p}}
    <input type="submit" value="Submit Post">
</form>

额外确认:

你的其他代码部分是正确的:

  • models.py中ImageField配置正常,指定了上传路径
  • forms.py使用ModelForm正确关联了Post模型
  • views.py中处理POST请求时,已经正确传递了request.POST和request.FILES给表单实例

修正拼写错误后,重新提交表单,图片就能正常上传了。

内容的提问来源于stack exchange,提问作者Lukinator

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 03:59:53