我正在尝试创建一个表单,允许用户上传任何图像文件SWF文件 . Django的ImageField不支持SWF,所以我需要覆盖它 .
我想要做的是检查文件是否为SWF,如果为True,则返回它 . 如果它不是SWF,请调用原始方法,该方法将负责文件验证 .
但是,我不确定如何实现这一点 . 这是我想要实现的一个例子,但它不起作用:
from hexagonit import swfheader
class SwfImageField(forms.ImageField):
def to_python(self, data):
try:
swfheader.parse(data)
return data
except:
return super(SwfImageField, self).to_python(data)
实际上目前只允许 only SWF文件 .
1 回答
另一种可能最简单的解决方案是使用带有自定义验证器的标准FileField: