首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django-Filebrowser无法创建具有自动宽度和限制高度的版本?

Django-Filebrowser无法创建具有自动宽度和限制高度的版本?
EN

Stack Overflow用户
提问于 2014-12-13 06:03:50
回答 1查看 114关注 0票数 1

我一直在使用Django-Filebrowser并设置my versions as specified in the docs,这表明您可以像这样指定图像版本:

代码语言:javascript
复制
VERSIONS = getattr(settings, "FILEBROWSER_VERSIONS", {
    'thumbnail': {'verbose_name': 'Thumbnail (1 col)', 'width': 60, 'height': 60, 'opts': 'crop'},
    'small': {'verbose_name': 'Small (2 col)', 'width': 140, 'height': '', 'opts': ''},
})

...note带有未指定高度的'small‘版本大小,它成功地生成了一个具有约束宽度和自动高度的图像版本。这对我来说是成功的,但是反之亦然(限制高度但自动宽度):

代码语言:javascript
复制
'auto_width': {'verbose_name': 'Auto Width', 'width': '', 'height': 140, 'opts': ''},

这里有没有我遗漏的技巧,或者是这个库没有这个能力?

EN

回答 1

Stack Overflow用户

发布于 2015-07-25 02:45:48

我刚刚遇到了同样的问题并解决了它:https://github.com/sehmaschine/django-filebrowser/issues/278

当尝试生成具有固定高度和自动宽度的版本时,utils.py中的scale_and_crop函数中存在一个错误(反过来看,它的效果很不错)。将创建版本图像,但使用原始大小。

示例版本定义:

代码语言:javascript
复制
FILEBROWSER_VERSIONS = { 
  'medium': {'verbose_name': 'Medium (4col )', 'width': '', 'height': 250, 'opts': ''},
}

原因是宽度变量是一个空字符串,与浮点数进行比较,因此if语句返回False,图像不会调整大小。

解决这个问题的一种方法是将宽度字符串转换为浮点型,以便在utils.py中进行比较

代码语言:javascript
复制
66c65
<     if 'upscale' not in opts and x < width:
---
>     if 'upscale' not in opts and x < float(width or 0):
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27452833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档