click
This commit is contained in:
parent
4cceef61f8
commit
c0e5b154f8
|
@ -1,5 +1,6 @@
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.core.validators import MinValueValidator, MaxValueValidator
|
from django.core.validators import MinValueValidator, MaxValueValidator
|
||||||
|
from .validators import validate_image_size
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
logger = logging.getLogger("root")
|
logger = logging.getLogger("root")
|
||||||
|
@ -68,15 +69,7 @@ class ClickableArea(models.Model):
|
||||||
Element3D,
|
Element3D,
|
||||||
on_delete=models.PROTECT,
|
on_delete=models.PROTECT,
|
||||||
)
|
)
|
||||||
image = models.ImageField('Картинка', upload_to='images', blank=True, null=True)
|
image = models.ImageField(upload_to='images/', validators=[validate_image_size], 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} пикселей. '}
|
|
||||||
# )
|
|
||||||
|
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
|
@ -25,6 +25,6 @@ class Scene3DSerializer(serializers.ModelSerializer):
|
||||||
class ClickableAreaSerializer(serializers.ModelSerializer):
|
class ClickableAreaSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = ClickableArea
|
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