使用简单缩略图为Tastypie API生成缩略图

时间:2012-11-30 03:33:09

标签: django api thumbnails tastypie easy-thumbnails

我正在尝试使用脱水方法生成我的缩略图,如下所示:

class PostResource(ModelResource):
    user = fields.ForeignKey(UserResource, 'user')

    class Meta:
        queryset = Post.objects.all()
        resource_name = 'post'
        authentication = Authentication()
        authorization = DjangoAuthorization()
        filtering = {
            'published': ALL,
            'type': ALL,
        }
        ordering = [
            'hot_score',
            'likes',
            'date_created',
        ]

    def dehydrate(self, bundle):
        bundle.data['thumb'] = get_thumbnailer(self.image1, "image.jpg").get_thumbnail({'size': (95, 95),}).url
        return bundle

我得到的是这个错误:“'FileField'对象没有属性'关闭'”

我得到这个是因为self.image1不是一个“真正的”FileField对象(它的tastypie.fields.FileField似乎不是基于Django的FileField)所以它没有所有常用的方法简单的缩略图需要吗?如果是这样,有解决方案吗?

如果解决方案是使用sorl-thumbnail,我会理解:)感谢您提供的任何帮助!

1 个答案:

答案 0 :(得分:2)

转换评论:

从Django模型而不是从资源中获取图像:

get_thumbnailer(bundle.obj.image1, "image.jpg").get_thumbnail({'size': (95, 95),}).url