2012-11-30 94 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