2016-03-07 26 views
3

使用普通的ImageField,序列化URL只是簡單的image = serializers.ImageField()。使用簡易縮略圖時應該是什麼樣子?帶簡易縮略圖的Django Rest框架

到目前爲止,我只找到了一個獲取URL的函數:Django easy_thumbnails accessing image URLs 在串行器中使用它需要SerializerMethodField,這是一個令人不滿意的解決方案。我正在尋找一種與實際情況一樣高效/高效的解決方案,並且在一條線上。

回答

5

最好的解決辦法可能是子類serializers.ImageField()並使用您在to_representation方法(docs for custom fields)中找到的代碼。你的領域可能看起來像這樣:

from easy_thumbnails.templatetags.thumbnail import thumbnail_url 

class ThumbnailSerializer(serializers.ImageField): 

    def to_representation(self, instance): 
     return thumbnail_url(instance, 'small')