Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 30, 2015 20:36:51

Denzil
Зарегистрирован: 2015-12-24
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод изображений

добрый день всем!
models.py:

class PortfolioObject(models.Model):
    address = models.CharField(max_length=50, null=True, blank=True)
    area = models.DecimalField(max_digits=10, decimal_places=2, null=True, blank=True)
    tip = models.CharField(max_length=20, null=True, blank=True)
    draft = models.ImageField(upload_to='drafts', null=True, blank=True)
       
    def __unicode__(self):
        return self.address
class Photo(models.Model):
    portfolio = models.ForeignKey(PortfolioObject, null=True, blank=True)
    photo = models.ImageField(upload_to='photos', null=True, blank=True)

admin.py:

class PhotoInline(admin.TabularInline):
    model = Photo
    
class PortfolioObjectAdmin(admin.ModelAdmin):
    inlines = [PhotoInline,]
    list_display = ["address", "area", "tip"]
        
    class Meta:
        model = PortfolioObject
admin.site.register(PortfolioObject, PortfolioObjectAdmin)

views.py:

class PortfolioObjectList(ListView):
    model = PortfolioObject
    context_object_name = 'portfolio'
    template_name = 'portfolio.html'


ВОПРОС - как вывести на страницу все фотографии, которые админ будет добавлять в админке к данному объекту?

portfolio.html:

{% for item in portfolio %}
				<img src="{{ ??????????????????????????????????? }}" width='200' height='200' />

Thanks a lot!!!!!!

Офлайн

#2 Дек. 30, 2015 23:25:48

kukuruku11
Зарегистрирован: 2015-06-18
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод изображений

как-то так

{% for photo in portfolio.photo_set.all %}
        <img src='{{..... }}' />

а код в последней строчке зависит от того, что ты используешь - imagekit или easy, судя по твоему посту, синтаксис хтмл напоминает easy_thumbnails
в случае с имэйджкитом потребуется допольнительное поле в модели фото

и вьюха твоя выводит список из портфолио, а не детализацию каждого, поэтому контекстное имя назови более внятно ‘portfolio_list’.

Отредактировано kukuruku11 (Дек. 30, 2015 23:30:12)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version