Skip to main content

An image serializer field for use with sorl and Django REST Framework.

Project description

Build Status Coverage Status

An image serializer field for use with sorl and Django REST Framework.

Provides an easy way of exposing a scaled version of an image rather than the full-size one, and if you prefer several different versions (thumb, large etc.)

Installation

PyPI

pip install sorl-thumbnail-serializer-field

Github

pip install -e git+git@github.com:dessibelle/sorl-thumbnail-serializer-field.git@master#egg=sorl_thumbnail_serializer

Quick start

  1. Add 'sorl_thumbnail_serializer' to the list of installed applications in your project’s settings.py file. Make sure you have already installed and configured sorl-thumbnail and Django REST Framework as well, if not do so now.

  2. Add the HyperlinkedSorlImageField to your serializer class.

  3. Specify the image dimensions and cropping options that the REST API should use.

Example usage

# urls.py
from django.conf.urls import url, include
from models import TestModel
from rest_framework import routers, serializers, viewsets
from sorl_thumbnail_serializer.fields import HyperlinkedSorlImageField


class TestModelSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = TestModel

    # A thumbnail image, sorl options and read-only
    thumbnail = HyperlinkedSorlImageField(
        '128x128',
        options={"crop": "center"},
        source='image',
        read_only=True
    )

    # A larger version of the image, allows writing
    image = HyperlinkedSorlImageField('1024')


class TestModelViewSet(viewsets.ModelViewSet):
    queryset = TestModel.objects.all()
    serializer_class = TestModelSerializer


router = routers.DefaultRouter()
router.register(r'test_models', TestModelViewSet)

urlpatterns = [
    url(r'^', include(router.urls)),
]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

sorl_thumbnail_serializer_field-0.2.1-py2.py3-none-any.whl (14.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file sorl-thumbnail-serializer-field-0.2.1.tar.gz.

File metadata

File hashes

Hashes for sorl-thumbnail-serializer-field-0.2.1.tar.gz
Algorithm Hash digest
SHA256 905a05a81e83bceb9c49392010802981a7d8100478cc67ef4acfb53beb1ab505
MD5 1d591d6463b2360795995ffa871abe99
BLAKE2b-256 75e601bc43a5ee53d5ebcd4a60deeeb564c5671c61c83f7e9b439b1a33de6758

See more details on using hashes here.

File details

Details for the file sorl_thumbnail_serializer_field-0.2.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for sorl_thumbnail_serializer_field-0.2.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6f4adb757d798c3cd556668333c83dc17926dd6bea420dff293fb35ec170e03e
MD5 5d0bed04bf6567c3d53f4d44bbe0a43a
BLAKE2b-256 fdd09a5a2f55e9d25f3733bb7efbe051e3b13c12e99ad5a3b7d171448e0f6690

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page