Добавлена поддержка HEIC/HEIF фото с iPhone: подключен pillow-heif, расширен валидатор форматов, увеличен лимит размера до 20MB

This commit is contained in:
2025-11-30 18:23:44 +03:00
parent 03048b6345
commit 1cea3661e0
5 changed files with 321 additions and 23 deletions

View File

@@ -10,11 +10,11 @@ def validate_photo(photo):
Валидация загружаемого фото.
Возвращает (True, None) если валидно, или (False, error_message) если ошибка.
"""
max_size = 5 * 1024 * 1024 # 5MB
allowed_extensions = ['.jpg', '.jpeg', '.png', '.gif', '.webp']
max_size = 20 * 1024 * 1024 # 20MB
allowed_extensions = ['.jpg', '.jpeg', '.png', '.gif', '.webp', '.heic', '.heif']
if photo.size > max_size:
return False, f'Размер файла {photo.name} превышает 5MB.'
return False, f'Размер файла {photo.name} превышает 20MB.'
ext = os.path.splitext(photo.name)[1].lower()
if ext not in allowed_extensions:
@@ -43,8 +43,8 @@ def handle_photos(request, parent_obj, photo_model, parent_field_name):
if not photos:
return errors
# МАКСИМУМ 10 ФОТО на товар/комплект/категорию
MAX_PHOTOS = 10
# МАКСИМУМ 5 ФОТО на товар/комплект/категорию
MAX_PHOTOS = 5
# Получаем количество уже существующих фото
filter_kwargs = {parent_field_name: parent_obj}