问题描述
我正在尝试删除Django ImageField中的clear
复选框,并删除文件显示的当前值。我尝试的方法是按照此处How to not render django image field currently and clear stuff?的建议替换小部件,但结果是我收到ValidationError:
"Upload a valid image. The file you uploaded was either not an image or a corrupted image."
。虽然验证错误图片已上传,但我没有重定向到成功页面,并且正在表单中呈现错误。
建议删除ImageField中当前值的方法是什么?
解决方法
一种适用于我的解决方案,尽管我不确定它有多好。
profile_picture = forms.FileField(label='Upload profile picture',widget=forms.FileInput,validators=[validators.validate_image_file_extension],required=False)
我用ImageField
替换了FileField
,然后用ImageField
小部件添加了FileInput
默认验证器,然后向该小部件添加了'accept': 'image/*'
,所以选择显示仅图像。这样,我模仿了ImageField,但是没有错误发生。