我通过使用SORL-缩略图 thumbnail
在我的Django模板模板标签,如下所示:
{% thumbnail foo.imgA "1600x1200" as im %}
<a href='{{ im.url }}' title='{{ foo.imgA.url }}'>
{% endthumbnail %}
原来的文件名中包含的一些信息是相关的情况下,他们下载我的用户。 当我使用SORL-缩略图调整图像大小,调整后的图像得到一个新的名字。
是否有对SORL-缩略图 -生成图像的方式来保持原始文件的名称(或者追加“-thumb”),或在模板中使用代码的文件重命名? (我想独自离开的型号。)
是的,它是可以通过创建基于默认的一个自己的后端和重载_get_thumbnail_filename
方法。
例如,像这样
from sorl.thumbnail.base import ThumbnailBackend, EXTENSIONS
from sorl.thumbnail.conf import settings
from sorl.thumbnail.helpers import tokey, serialize
import os.path
class KeepNameThumbnailBackend(ThumbnailBackend):
def _get_thumbnail_filename(self, source, geometry_string, options):
"""
Computes the destination filename.
"""
key = tokey(source.key, geometry_string, serialize(options))
filename, _ext = os.path.splitext(os.path.basename(source.name))
path = '%s/%s' % (key, filename)
return '%s%s.%s' % (settings.THUMBNAIL_PREFIX, path, EXTENSIONS[options['format']])
然后,你必须在你的项目激活这个新的后端settings.py
THUMBNAIL_BACKEND = 'path.to.KeepNameThumbnailBackend'
我希望它能帮助