Доброго времени суток.
Мне нужно импортовать на сайт картинки. Для этого я написал импортер, но когда я импортирую картинку из прозрачным фоном, то на сайте она отображается уже з черным. Если делать вручную, то все норм.
Вот код импортера:
def handle(self, data_list, path_to_images):
CIP = [row[1].strip() for row in data_list[1:]]
UPC = [row[0].strip() for row in data_list[1:]]
NAME = [row[2].strip() for row in data_list[1:]]
EMPTY_FIELDS = ("-", " ")
num_items = len(NAME)
for i, name in enumerate(NAME):
flag = False
self.logger.info(
u" - Importing image({}/{})".format(i + 1, num_items))
if name in EMPTY_FIELDS:
self.logger.error(u' - No path to image')
continue
cip_code = CIP[i]
upc_code = UPC[i]
if upc_code != u'':
.....
# проверка на наличее продукта
file_path = os.path.join(path_to_images, name)
new_img = open(file_path, 'rb').read()
next_index = 0
for existing in item.images.all():
next_index = existing.display_order + 1
try:
if new_img == existing.original.read():
self.logger.error(u' - Image allredy imported')
flag = True
break
except IOError:
# File probably doesn't exist
existing.delete()
self.logger.error(u' - Image did not found')
if flag:
continue
new_file = File(open(file_path, 'rb'))
im = ProductImage(product=item, display_order=next_index)
im.original.save(name, new_file, save=False)
im.save()
self.logger.debug(u' - Image added to "%s"' % item)
Вот модель из картинкой:
class AbstractProductImage(models.Model):
"""
An image of a product
"""
product = models.ForeignKey(
'catalogue.Product', related_name='images', verbose_name=_("Product"))
original = models.ImageField(
_("Original"), upload_to=settings.OSCAR_IMAGE_FOLDER, max_length=255)
...
В чем может быть проблема? Буду очень благодарен за помощь.