为何使用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
相关产品推荐
相关产品推荐

