Python 使用django图像裁剪和简易缩略图获取django数据库的图像(图片)

Python 使用django图像裁剪和简易缩略图获取django数据库的图像(图片),python,django,easy-thumbnails,Python,Django,Easy Thumbnails,我有一个django安装,带有插件django图像裁剪和简单的缩略图 我想使用vObject将用户图片添加到vCard中 models.py: (...) class Person(TranslatableModel): (...) pic = ImageCropField(_(u"profile picture"), blank=True, null=True, upload_to=settings.USER_PICTURE_DI

我有一个django安装,带有插件django图像裁剪和简单的缩略图

我想使用vObject将用户图片添加到vCard中

models.py:
(...)
class Person(TranslatableModel):
    (...)
    pic = ImageCropField(_(u"profile picture"),
        blank=True,
        null=True,
        upload_to=settings.USER_PICTURE_DIR,
    )
    picture_cropped = ImageRatioField(
        'pic',
        '{}x{}'.format(*settings.USER_PICTURE_SIZE)
    )
(...)

到目前为止,我所能找到的关于这个主题的是,如何获得原始图片的URL,但我不知道如何获取裁剪后的图片,也不知道如何获取图片本身,而不是URL或伪文件类型。

您使用的是较旧版本的
django图像裁剪
,因为
ImageCropField
在最新版本中已不存在

对于最新版本,它记录了如何从python代码中获取裁剪缩略图的URL:

在:


您正在使用较旧版本的
django图像裁剪
,因为
ImageCropField
在最新版本中不再存在

对于最新版本,它记录了如何从python代码中获取裁剪缩略图的URL:

在:


谢谢你的帮助。我需要的是:
get_thumbnailer(person.pic)。get_thumbnailer(…).path
但是你让我走上了正确的道路。谢谢你的帮助。我需要的是:
get_thumbnailer(person.pic)。get_thumbnailer(…).path
但你让我走上了正确的道路。
from image_cropping.utils import get_backend
thumbnail_url = get_backend().get_thumbnail_url(
    yourmodel.image,
    {
        'size': (430, 360),
        'box': yourmodel.cropping,
        'crop': True,
        'detail': True,
    }
)
from easy_thumbnails.files import get_thumbnailer
thumbnail_url = get_thumbnailer(yourmodel.image).get_thumbnail({
    'size': (430, 360),
    'box': yourmodel.cropping,
    'crop': True,
    'detail': True,
}).url