Skip to content

modbender/easy-thumbnails-rest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Easy Thumbnails Rest

Downloads Downloads Downloads

Easy Thumbnails Fields for Django Rest API Framework

Installation

pip install easy-thumbnails-rest

Tested on Django 2.2, 3.1, 3.2

Usage

This package is an extension for easy-thumbnails.

Please make sure to have THUMBNAIL_ALIASES defined in settings.py. If not added, please check Easy Thumbnails Docs to add it.

To use the serializer fields provided by this package you need to have your image fields defined as provided here: easy-thumbnails fields

Example settings.THUMBNAIL_ALIASES

THUMBNAIL_ALIASES = {
    '': {
        'avatar': {'size': (50, 50), 'crop': True},
    },
}

Fields

  • ThumbnailerSerializer
  • ThumbnailerListSerializer
  • ThumbnailerJSONSerializer

ThumbnailerSerializer

You can use ThumbnailerSerializer to get image's predefined alias. You need to pass argument alias with value as one of the aliases name defined in THUMBNAIL_ALIASES

Example:

from rest_framework import serializers
from easy_thumbnails_rest.serializers import ThumbnailerSerializer

class ExampleSerializer(serializers.ModelSerializer):
    image = ThumbnailerSerializer(alias='avatar')

    class Meta:
        model = ExampleModel
        fields = '__all__'

From the above example the field image will contain string value of alias image url.

ThumbnailerListSerializer

You can use ThumbnailerListSerializer to get image's predefined alias image list. You need to pass argument alias with value as one of the target's in THUMBNAIL_ALIASES.

If you don't understand where to find target, please see the structure of the THUMBNAIL_ALIASES in Easy Thumbnails Docs

Example:

from rest_framework import serializers
from easy_thumbnails_rest.serializers import ThumbnailerListSerializer

class ExampleSerializer(serializers.ModelSerializer):
    image = ThumbnailerListSerializer(alias='target')

    class Meta:
        model = ExampleModel
        fields = '__all__'

From the above example the field image will contain list of all aliased image urls under the given target.

ThumbnailerJSONSerializer

You can use ThumbnailerJSONSerializer to get image's predefined alias image list. You need to pass argument alias with value as one of the target's in THUMBNAIL_ALIASES.

If you don't understand where to find target, please see the structure of the THUMBNAIL_ALIASES in Easy Thumbnails Docs

Example:

from rest_framework import serializers
from easy_thumbnails_rest.serializers import ThumbnailerJSONSerializer

class ExampleSerializer(serializers.ModelSerializer):
    image = ThumbnailerJSONSerializer(alias='target')

    class Meta:
        model = ExampleModel
          fields = '__all__'

From the above example the field image will contain list of key-value pair where key's are the alias under the given target and values are the respective image url.