我的目标是将Django ModelForm上的FileField限制为PDF和Word文档。我用谷歌搜索的所有答案都与创建一个单独的文件处理程序有关,但是我不确定如何在ModelForm的上下文中这样做。我可以用来限制上传文件类型的settings.py中有设置吗?
创建一个验证方法,例如:
def validate_file_extension(value): if not value.name.endswith('.pdf'): raise ValidationError(u'Error message')
并将其包含在FileField验证器中,如下所示:
actual_file = models.FileField(upload_to='uploaded_files', validators=[validate_file_extension])
此外,你应该手动设置模型并对其进行迭代,而不是手动设置模型允许的扩展名。