Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 17, 2009 15:19:58

Valerikk
От:
Зарегистрирован: 2009-04-07
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

ImageWithThumbsField помогите разобраться

Помогите, плиз, разобраться.
В 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() превьюшки не создаются. Где я туплю?



Офлайн

#2 Ноя. 17, 2009 18:11:48

Valerikk
От:
Зарегистрирован: 2009-04-07
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

ImageWithThumbsField помогите разобраться

Решено.



Офлайн

#3 Ноя. 17, 2009 18:24:10

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

ImageWithThumbsField помогите разобраться

Как?

Офлайн

#4 Ноя. 20, 2009 09:55:01

Valerikk
От:
Зарегистрирован: 2009-04-07
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

ImageWithThumbsField помогите разобраться

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()

Может, не очень красиво, но работает.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version