我正在尝试使用脱水方法生成我的缩略图,如下所示:
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’对象没有属性‘closed’”
我得到这个是因为 self.image1 不是一个“真正的”FileField 对象(它是一个 tastypie.fields.FileField,它似乎不是基于 Django 的 FileField)所以它没有所有常用的方法那个简单的缩略图需要?如果是这样,有解决办法吗?
如果解决方案是改用 sorl-thumbnail,我会理解 :) 感谢您提供的任何帮助!
最佳答案
转换后的评论:
从 Django 模型而不是资源中获取图像:
get_thumbnailer(bundle.obj.image1, "image.jpg").get_thumbnail({'size': (95, 95),}).url
关于django - 使用 easy-thumbnails 为 Tastypie API 生成缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13638603/