Добрый день! Пытаюсь сделать магазин не могу понять как вывести картинки, цвета и размеры в шаблон.
В админке отображается добавление картинок цветов и размеров.
Картинки на каждом продукте будут разные, а цвета и размеры на некоторых будут совпадать.
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',)}
Чтобы вишли картинки и цвета примерно так