Django - sorl-thumbnail - 从视图函数访问缩略图图片

0 投票
1 回答
636 浏览
提问于 2025-04-17 13:03

我现在在用sorl-thumbnail这个库,并且有一个模型。

class Entry(models.Model):

    image = ImageWithThumbnailsField(upload_to='uploads/', null=False, blank=True, 
        thumbnail={
            'size':(150,150),
        'options':{'crop':'smart'}
        },
        generate_on_save=True
    )

这个模型会在'uploads'文件夹里生成一个名为'filename_jpeg_150x150x_crop-smart_q85.jpg'的缩略图。我想从我的视图函数中访问这个缩略图。 我在想有没有简单的方法可以找到这个缩略图的名字和路径。

谢谢。

1 个回答

0

我尝试在sorl-thumbnail 3.2.5的utils.py文件里使用thumbnails_for_file()和all_thumbnails()这两个函数,但没有成功。看起来这些函数返回的缩略图是直接从django模板中解析出来的,结果并没有返回所有的缩略图文件。

最后我决定直接解析文件路径,方法是:

Entry.objects.all()[0].image.thumbnail.relative_url

relative_url显示的路径和文件名是'uploads/test_jpg_150x150_crop-smart_q85.jpg'

撰写回答