簡體   English   中英

使用django-image-cropping和easy-thumbnails獲取django數據庫的圖像(圖片)

[英]Get the image (picture) of an django database using django-image-cropping and easy-thumbnails

我使用django-image-cropping插件和easy-thumbnails安裝了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-image-cropping的舊版本,因為ImageCropField在最新版本中不再存在。

對於最新版本,已記錄了如何從python代碼獲取裁剪的縮略圖的URL: https : //github.com/jonasundderwolf/django-image-cropping#frontend

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM