def test_action_after_save(self):
"""Тест action_after_save"""
with self.assertLogs('Send mail', level='ERROR'):
action_after_save(instance=None)
import io
import os
import logging
from urllib import request
from pathlib import Path
from PIL import ImageOps
from PIL import Image
from django.core.files.images import ImageFile
from django.core.validators import MinValueValidator
from django.db import models
from pages.mixins import BaseModelMixin, IsPublicManager, ToWebpMixin
from django.core.files import File
from django.urls import reverse
class AdditionalImage(models.Model):
"""дополнительные изображения к объекту"""
unit = models.ForeignKey(Unit, on_delete=models.CASCADE, verbose_name='Товар', related_name='additionalimages')
image = models.ImageField(upload_to="photos",verbose_name='Дополнительное изображение', null=True, blank=True)
webp_image = models.ImageField("Name of webp url", upload_to="photos", null=True, blank=True)
order = models.PositiveIntegerField("Порядок")
origin_url = models.URLField("Урл из CRM", max_length=500)
class Meta:
verbose_name_plural = 'Дополнительные иллюстрации'
verbose_name = 'Дополнительная иллюстрация'
ordering =['order']
def get_remote_image(self):
"""Получить стороннее изображение из ссылки"""
if self.origin_url and not self.image:
try:
result = request.urlretrieve(self.origin_url)
img = ImageFile(open(result[0], 'rb'))
self.image.save(
os.path.basename(self.origin_url),
img
)
self.save()
request.urlcleanup()
except Exception as error:
logger = logging.getLogger('GET_REMOTE_IMAGE')
logger.error(f"Ошибка получения изображения {self.origin_url} -- {str(error)}")
def convert(self):
"""Обрезаем и создаем webp"""
...........
img,c = AdditionalImage.objects.update_or_create(
origin_url=photo,
unit=obj,
defaults={
'order':ind,
}
)
if c: #если создан то запускаем получения картинки
img.get_remote_image()
img.convert()
1 - 2024/08/12 14:36:55 [error] 121541#121541: *84 upstream prematurely closed connection while reading response header from upstream, request: "GET /_next/image?url=.....
2- 2024/08/12 14:36:55 [error] 121541#121541: *82 no live upstreams while connecting to upstream request: "GET /_next/image?.....
3- 2024/08/12 14:36:55 [error] 121541#121541: *84 connect() failed (111: Connection refused) while connecting to upstream , request: "GET /_next/image?.....
И все они связаны с разными изображениями, на маршруте /_next/image сразу скажу некст это не мое произведение, хотябы понять не хватает правильной настройки nginx или это дичь в нексте