Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

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.

Filename, size & hash SHA256 hash help File type Python version Upload date
sorl_thumbnail_serializer_field-0.2.1-py2.py3-none-any.whl (14.0 kB) Copy SHA256 hash SHA256 Wheel 3.5 Oct 5, 2017
sorl-thumbnail-serializer-field-0.2.1.tar.gz (8.1 kB) Copy SHA256 hash SHA256 Source None Oct 5, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page