Задать вопрос

Как вывести картинки, цвета и размеры в шаблон?

Добрый день! Пытаюсь сделать магазин не могу понять как вывести картинки, цвета и размеры в шаблон.
В админке отображается добавление картинок цветов и размеров.
Картинки на каждом продукте будут разные, а цвета и размеры на некоторых будут совпадать.
models.py
class Color(models.Model):
    name = models.CharField('Название категории', max_length=100, blank=True)
    color = ColorField('Цвет', default='#FF0000')

    def __str__(self):
        return self.name

    class Meta:
        verbose_name = 'Цвет'
        verbose_name_plural = 'Цвета'


class Size(models.Model):
    name = models.CharField('Название', help_text='например XL', max_length=50)
    width = models.IntegerField('Ширина', help_text='например 60', )
    height = models.IntegerField('Высота', help_text='например 90', )
    length = models.IntegerField('Длина', help_text='например 90')

    def __str__(self):
        return self.name

    class Meta:
        verbose_name = 'Размер'
        verbose_name_plural = 'Размеры'


class Product(models.Model):
    title = models.CharField('Название', max_length=100)
    slug = models.SlugField('URL', max_length=100)
    text = models.TextField('Короткое описание', help_text='введите короткое описание:')
    price = models.DecimalField(max_digits=10, decimal_places=2, verbose_name='Цена')
    color = models.ManyToManyField(Color, related_name='colors', blank=True, verbose_name='Цвет')
    size = models.ManyToManyField(Size, related_name='sizes', blank=True, verbose_name='Размер')

    def __str__(self):
        return self.title

    def get_gallery(self):
        return self.category.image.url

class Gallery(models.Model):
    image = models.ImageField(upload_to='gallery')
    product = models.ForeignKey(Product, on_delete=models.CASCADE, related_name='images')

views.py
class ProductDetail(DetailView):
    model = Product
    template_name = 'shop/detail.html'

class GalleryInline(admin.TabularInline):
    fk_name = 'product'
    model = Gallery
    extra = 1

@admin.register(Product)
class ProductAdmin(admin.ModelAdmin):
    inlines = [GalleryInline, ]
    prepopulated_fields = {'slug': ('title',)}

Чтобы вишли картинки и цвета примерно так
608a7b7bc2778548310197.jpeg
  • Вопрос задан
  • 91 просмотр
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы