我一直在使用Django-Filebrowser并设置my versions as specified in the docs,这表明您可以像这样指定图像版本:
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‘版本大小,它成功地生成了一个具有约束宽度和自动高度的图像版本。这对我来说是成功的,但是反之亦然(限制高度但自动宽度):
'auto_width': {'verbose_name': 'Auto Width', 'width': '', 'height': 140, 'opts': ''},这里有没有我遗漏的技巧,或者是这个库没有这个能力?
发布于 2015-07-25 02:45:48
我刚刚遇到了同样的问题并解决了它:https://github.com/sehmaschine/django-filebrowser/issues/278
当尝试生成具有固定高度和自动宽度的版本时,utils.py中的scale_and_crop函数中存在一个错误(反过来看,它的效果很不错)。将创建版本图像,但使用原始大小。
示例版本定义:
FILEBROWSER_VERSIONS = {
'medium': {'verbose_name': 'Medium (4col )', 'width': '', 'height': 250, 'opts': ''},
}原因是宽度变量是一个空字符串,与浮点数进行比较,因此if语句返回False,图像不会调整大小。
解决这个问题的一种方法是将宽度字符串转换为浮点型,以便在utils.py中进行比较
66c65
< if 'upscale' not in opts and x < width:
---
> if 'upscale' not in opts and x < float(width or 0):https://stackoverflow.com/questions/27452833
复制相似问题