使用简单缩略图为 Tastypie API 生成缩略图
Posted
技术标签:
【中文标题】使用简单缩略图为 Tastypie API 生成缩略图【英文标题】:Generating a thumbnail for a Tastypie API with easy-thumbnails 【发布时间】:2012-11-18 06:48:03 【问题描述】:我正在尝试使用脱水方法来生成我的缩略图,如下所示:
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' object has no attribute 'close'”
我得到这个是因为 self.image1 不是一个“真正的” FileField 对象(它是一个美味的.fields.FileField,它似乎不是基于 Django 的 FileField),所以它没有所有常用的方法那easy-thumbnails需要吗?如果是这样,是否有解决方案?
如果解决方案是使用 sorl-thumbnail,我会理解 :) 感谢您提供的任何帮助!
【问题讨论】:
你能用get_thumbnailer(bundle.obj.image1, "image.jpg").get_thumbnail('size': (95, 95),).url
吗?
就是这样!而且我现在什至不需要related_name 字段。非常感谢。
【参考方案1】:
转换后的评论:
从 Django 模型而不是从资源中获取图像:
get_thumbnailer(bundle.obj.image1, "image.jpg").get_thumbnail('size': (95, 95),).url
【讨论】:
以上是关于使用简单缩略图为 Tastypie API 生成缩略图的主要内容,如果未能解决你的问题,请参考以下文章
Django RESTful API - django-piston 与 django-tastypie