0

我正在使用 django-filebrowser,模型字段声明为

image = FileBrowseField("Image", max_length=200, blank=True, null=True)

并在模板中使用图像

{% version_object obj.image "thumb" as img %}

在 admin 中,文件浏览器允许用户选择一个目录来代替图像。当这种情况发生时(意外),上面的 version_object 模板标签会引发 IOError:“[Errno 21] Is a directory”。

这是非常灾难性的,因为它破坏了图像出现的整个页面。我怎样才能...

  1. 使模板标签静默失败而不是破坏页面,并且
  2. 防止用户在填充字段时选择图片以外的任何内容?

“SELECT_FORMATS”设置听起来可能有帮助,但文档不清楚:

为从 FileBrowser 中选择元素设置不同的选项:

SELECT_FORMATS = getattr(settings, "FILEBROWSER_SELECT_FORMATS", { 'file': ['Folder','Image','Document','Video','Audio'], 'image': ['Image'], 'document' :['文档'],'媒体':['视频','音频'],})

当使用浏览功能选择文件/文件夹时,您可以使用附加的查询属性类型来限制选择。

我不明白此设置如何(或是否)适用于管理界面。

4

1 回答 1

1

尝试在您的字段上设置format属性

image = FileBrowseField("Image", format='image', max_length=200, blank=True, null=True)
于 2013-07-19T17:28:57.630 回答