mod: django-filer настройка (12) поддержка heif/heic (работает с логами)

This commit is contained in:
2026-06-09 18:54:54 +03:00
parent 6d6bb873e9
commit a5425b212d
3 changed files with 265 additions and 32 deletions

View File

@@ -410,7 +410,7 @@ class TbMusicStyle(models.Model):
# ============================================================================
# СТАТЬИ (любая текстовая информация о релизе, исполнителе, продавце и т.д...
# СТАТЬИ (любая текстовая информация о релизе, исполнителе, продавце и т.д...)
# а так же новости, блог, тексты о спец-предложениях и т.д.)
# ============================================================================
class TbArticle(models.Model):
@@ -767,7 +767,6 @@ class TbLabel(models.Model):
# ============================================================================
# ПРОДАВЦЫ / МАГАЗИНЫ
# ============================================================================
class TbSeller(models.Model):
"""Продавец или магазин, который продаёт товары."""
class SellerType(models.TextChoices):
@@ -1240,3 +1239,37 @@ class TbOfferHistory(models.Model):
models.Index(fields=['k_history_to_offer', '-t_history_created'], name='idx_history_by_offer_date'),
]
# ============================================================================
# СИГНАЛЫ ДЛЯ ОБРАБОТКИ ЗАГРУЗОК И ОБРАБОТКИ ФАЙЛОВ
# ============================================================================
import logging
from django.db.models.signals import post_save, pre_delete
from django.dispatch import receiver
from filer.models import File, Image
# Получаем логгер
logger = logging.getLogger(__name__)
@receiver(post_save, sender=Image)
def log_image_save(sender, instance, created, **kwargs):
"""
Логирует сохранение изображения, включая информацию о формате и размере.
Помогает отследить, когда и как файл был загружен.
"""
action = "created" if created else "updated"
logger.info(f"[SIGNAL] Image {action}: {instance.name}, "
f"mime_type={instance.mime_type}, "
f"size={instance.size}, "
f"sha1={instance.sha1}")
@receiver(pre_delete, sender=Image)
def log_image_delete(sender, instance, **kwargs):
"""
Логирует удаление изображения для отладки.
"""
logger.info(f"[SIGNAL] Image deleted: {instance.name}, "
f"mime_type={instance.mime_type}, "
f"size={instance.size}")