2012-11-30 169 views
3

我试图用脱水方法生成缩略图像这样一个Tastypie API:生成缩略图与易缩略图

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代替,我会理解:)谢谢您提供的任何帮助!

+3

您可以用'get_thumbnailer(bundle.obj.image1, “image.jpg文件”)get_thumbnail ({'size':(95,95),})。url'? – dokkaebi

+0

就是这样!我甚至不需要现在的related_name字段。非常感谢。 – renegadeofunk

+0

很高兴:) – dokkaebi

回答

2

转换评论:

从Django的模型,而不是从资源获取的图像。

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