dev #10
|
@ -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
|
||||
|
|
|
@ -25,6 +25,6 @@ class Scene3DSerializer(serializers.ModelSerializer):
|
|||
class ClickableAreaSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = ClickableArea
|
||||
fields = "__all__"
|
||||
fields = ['image']
|
||||
|
||||
|
||||
|
|
|
@ -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")
|
Loading…
Reference in New Issue