如何限制具有FileFields的ModelForms的文件上传文件类型?
|
我的目标是将Django ModelForm上的FileField限制为PDF和Word文档。我用谷歌搜索的所有答案都与创建一个单独的文件处理程序有关,但是我不确定如何在ModelForm的上下文中这样做。我可以用来限制上传文件类型的settings.py中有设置吗?
没有找到相关结果
已邀请:
6 个回复
敦肌
辅奈
并将其包含在FileField验证器中,如下所示:
此外,您应该手动设置模型并对其进行迭代,而不是手动设置模型允许的扩展名。 编辑 要过滤多个文件:
诫商
用法
翱抹村
催备南菠亨
来扩展Django内置的built7ѭ。它接受单个或多个扩展名,以及可选的自定义错误消息。
现在,您可以在该字段中内联定义一个验证器,例如:
琳娘
您可能还可以将前面的示例合并到其中-例如,还要检查扩展名/上载的类型(作为主要检查,可能比魔术更快)。这仍然不是万无一失的-但它会更好,因为它更加依赖文件中的数据,而不是浏览器提供的标题。 注意:这是一个验证器函数,您想添加到FileField模型的验证器列表中。