Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Использование ImageFields. Несколько изображений. [RSS Feed]

#1 Фев. 4, 2012 19:23:30

pal201
От:
Зарегистрирован: 2010-01-05
Сообщения: 83
Репутация: +  0  -
Профиль   Отправить e-mail  

Использование ImageFields. Несколько изображений.

Требуется для объекта модели указывать несколько изображений. Как это реализуется при помощи ImageFields?
Для описания изображений лучше использовать таблицу, на которую сделать FK из трубуемой модели или сделать несколько ImageFields в самой модели?
Спасиба за помощь!



Офлайн

#2 Фев. 4, 2012 21:41:50

ad3w
От: Hua Hin, Thailand
Зарегистрирован: 2012-01-27
Сообщения: 59
Репутация: +  4  -
Профиль   Отправить e-mail  

Использование ImageFields. Несколько изображений.

Как-то так:

class Photo(models.Model):
product = models.ForeignKey(Product, verbose_name=_('product'))
image = models.ImageField(upload_to='products')
title = models.CharField(_('title'), max_length=100, null=True, blank=True)

class Meta:
verbose_name = _('photo')
verbose_name_plural = _('photos')

def __unicode__(self):
return _('Photo #%s') % self.pk
А для админки использовать inlines, чтобы добавлять фото на странице товара.



Офлайн

#3 Фев. 5, 2012 10:28:47

pal201
От:
Зарегистрирован: 2010-01-05
Сообщения: 83
Репутация: +  0  -
Профиль   Отправить e-mail  

Использование ImageFields. Несколько изображений.

1) То есть несколько фотографий добавляются посредством добавления 1 фотографий в таблицу Photo? Нельзя передать сразу несколько фотографий, например в виде списка или кортежа.
Если не сложно, поясните мотод __unicode__ для этой модели, а именно self.pk, откуда мы знаем pk?
2) И для чего подчеркивание в полях _('photo'), _('title'), _('photos')? Так как в таком случае сообщение об ошибке NameError: name ‘_’ is not defined



Отредактировано (Фев. 8, 2012 11:01:42)

Офлайн

#4 Фев. 10, 2012 17:45:12

thecore
От:
Зарегистрирован: 2011-11-14
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Использование ImageFields. Несколько изображений.

pal201
1) То есть несколько фотографий добавляются посредством добавления 1 фотографий в таблицу Photo? Нельзя передать сразу несколько фотографий, например в виде списка или кортежа.
Если не сложно, поясните мотод __unicode__ для этой модели, а именно self.pk, откуда мы знаем pk?
2) И для чего подчеркивание в полях _('photo'), _('title'), _('photos')? Так как в таком случае сообщение об ошибке NameError: name ‘_’ is not defined
1) Конечно можно несколько.
И потом в цикле сохранить
for item in photo_list:
obj = Photo()
obj.product = сам продукт
obj.title = item.title
obj.url = item.url (ну загрузку файлов конечно надо обработать)
obj.save()

self.pk знает джанго, нам знать не надо
2. Это локализация
from django.utils.translation import ugettext_lazy as _ в начале модуля
просто чтобы не писать везде ugettext_lazy



Отредактировано (Фев. 10, 2012 17:46:23)

Офлайн

  • Начало
  • » Django
  • » Использование ImageFields. Несколько изображений.[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version