Django-Filebrowser - 由于图像字段中的目录导致的IOError

时间:2013-07-14 09:43:59

标签: django django-filebrowser

我正在使用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]是一个目录”。

这是非常灾难性的,因为它会破坏图像显示的整个页面。我怎么能......

  1. 使模板标签无声地失败而不是破坏页面,
  2. 在填充字段时阻止用户选择图像以外的任何内容吗?
  3. “SELECT_FORMATS”设置听起来可能有所帮助,但文档不清楚:

      

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

         

    SELECT_FORMATS = getattr(settings,“FILEBROWSER_SELECT_FORMATS”,{       'file':['Folder','Image','Document','Video','Audio'],       'image':['Image'],       'document':['Document'],       'media':['Video','Audio'],})

         

    使用browse-function选择文件/文件夹时,可以使用其他查询属性   键入以限制选择。

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

1 个答案:

答案 0 :(得分:1)

尝试在您的字段上设置format attribute

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