This commit is contained in:
parent 4cceef61f8
commit c0e5b154f8
3 changed files with 9 additions and 10 deletions

View File

@ -1,5 +1,6 @@
from django.db import models
from django.core.validators import MinValueValidator, MaxValueValidator
from .validators import validate_image_size
import logging
logger = logging.getLogger("root")
@ -68,15 +69,7 @@ class ClickableArea(models.Model):
Element3D,
on_delete=models.PROTECT,
)
image = models.ImageField('Картинка', upload_to='images', blank=True, null=True)
# def image_size_validator_factory(min_w=600, min_h=600, field_name='image'):
# def validator(image):
# if image.width < min_w or image.height < min_h:
# raise ValidationError(
# {field_name: f'Размер картинки от {min_w}х{min_h} пикселей. '}
# )
image = models.ImageField(upload_to='images/', validators=[validate_image_size], blank=True, null=True)
def __str__(self):
return self.name

View File

@ -25,6 +25,6 @@ class Scene3DSerializer(serializers.ModelSerializer):
class ClickableAreaSerializer(serializers.ModelSerializer):
class Meta:
model = ClickableArea
fields = "__all__"
fields = ['image']

View File

@ -0,0 +1,6 @@
from django.core.exceptions import ValidationError
def validate_image_size(image):
max_size = 2 * 1024 * 1024 # Максимальный размер файла в байтах (2MB)
if image.file.size > max_size:
raise ValidationError(f"Размер файла не должен превышать {max_size / (1024 * 1024)}MB")