Найти - Пользователи
Полная версия: ImageWithThumbsField помогите разобраться
Начало » Django » ImageWithThumbsField помогите разобраться
1
Valerikk
Помогите, плиз, разобраться.
В LFS есть модель Image с полем image = ImageWithThumbsField(_(u“Image”), upload_to=“images”, blank=True, null=True, sizes=((60, 60), (100, 100), (200, 200), (400, 400))), где ImageWithThumbsField (http://code.google.com/p/django-thumbs/) создает превьюхи указанных размеров. Данные для магазина импортятся из 1с через xml. Файл-изображение я получаю в виде строки (путь). При попытке записать в Image “в лоб”, т.е. p=Image(image=<путь к изображению>), p.save() превьюшки не создаются. Где я туплю?
Valerikk
Решено.
Ferroman
Как?
Valerikk
Ferroman
Как?
Сделал таким образом:

# т.к. изображение присоединяется к модели Product: images = generic.GenericRelation(“Image”, verbose_name=_(u“Images”), object_id_field=“content_id”, content_type_field=“content_type”), сохраняем основные данные в таблицу Product


product = Product(name = name, sku = article, price = price, short_description = short_description, description = description, for_sale = False, active = True, uid = UID) - сохраняем нужные поля в модели Product, кроме images
product.save()


content_type_product = ContentType.objects.get(app_label=“catalog”, model=“product”)
im = Image(content_type = content_type_product, title = title_image, content = product)

# Делаем Upload изображения
f=open(settings.MEDIA_ROOT+'/'+image_,'r').read(), где image_ - путь к сохраненному изображению относительно MEDIA_ROOT
img = SimpleUploadedFile(image_, f)

# Сохраняем изображение с превьюшками
im.image.save('/site_media/'+image_, img, save=True)

# Добавляем изображение к продукту
product.images.add(im)
product.save()

Может, не очень красиво, но работает.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB