diff --git a/apps/gallery/serializers.py b/apps/gallery/serializers.py index 0aa4389f..bd439d37 100644 --- a/apps/gallery/serializers.py +++ b/apps/gallery/serializers.py @@ -1,11 +1,10 @@ -from django.conf import settings from django.core.validators import MinValueValidator, MaxValueValidator from django.core.files.base import ContentFile from rest_framework import serializers from sorl.thumbnail import get_thumbnail from sorl.thumbnail.parsers import parse_crop, ThumbnailParseError from django.utils.translation import gettext_lazy as _ - +from django.conf import settings from . import models @@ -36,6 +35,15 @@ class ImageSerializer(serializers.ModelSerializer): 'orientation': {'write_only': True} } + def validate(self, attrs): + """Overridden validate method.""" + image = attrs.get('image') + + if image and image.size >= settings.FILE_UPLOAD_MAX_MEMORY_SIZE: + raise serializers.ValidationError({'detail': _('File size too large: %s bytes') % image.size}) + + return attrs + class CropImageSerializer(ImageSerializer): """Serializers for image crops."""