django filebrowser 扩展问题
我把django filebrowser的调试模式设置成了True,并在模型里写了文件扩展名的限制。
比如,我定义了一个叫pdf的字段,内容是这样的:FileBrowseField("PDF", max_length=200, directory="documents/", extensions=['.pdf', '.doc', '.txt'], format='Document', blank=True, null=True)。
在django的管理后台里,这些信息显示得很正确,像这样:
目录是documents/
允许的扩展名有['.pdf', '.doc', '.txt']
格式是Document。
但是当我调用filebrowser的时候,它却允许上传所有类型的文件。
我该怎么做才能限制filebrowser只上传我想要的特定文件类型呢?
谢谢大家!
1 个回答
1
在filebrowser/fb_settings文件中,把它们定义为一个叫做EXTENSIONS的字典。
EXTENSIONS = {
'Folder':[''],
'Image':['.jpg', '.jpeg', '.gif','.png','.tif','.tiff'],
'Zip':['.zip', '.rar'],
'Video':['.mov','.wmv','.mpeg','.mpg','.avi','.rm'],
'Document':['.pdf','.doc','.rtf','.txt','.xls','.csv'],
'Sound':['.mp3','.mp4','.wav','.aiff','.midi'],
'Code':['.html','.py','.js','.css']
}
补充:如果你想在你的FileBrowserField中使用它:
pdf = FileBrowseField("PDF", max_length=200, initial_directory="documents/", extensions_allowed={'Documents':['.pdf', '.doc', '.txt']}, format="Documents", blank=True, null=True)