Как использовать API rest Framework для изображений в Django

hello guys Я пытаюсь создать модель продукта для моих деталей продукта .У меня есть несколько изображений для одного продукта .Я хочу добавить несколько изображений в мою панель django dashboard так что я написал эти коды теперь я хочу показать их в моем шаблоне но я не могу почему? Вот мой:

Models.py :

  class Product(models.Model):
    name =models.CharField(max_length=100,verbose_name='نام محصول')
    header_pic = models.ImageField(upload_to="images/products",verbose_name='تصویر اصلی',     
    default='images/product/product1.png')
    created_date =models.DateField(auto_now_add=True)
    description = RichTextField(blank = True , null=True)

class Image(models.Model):
    product = models.ForeignKey(Product, default=None, on_delete=models.CASCADE,   related_name="product_images")
    image = models.ImageField(upload_to="images/products/product-images",verbose_name='تصویر', null= True , blank=True)  
    
    @property
    def get_image_url(self):
        return self.image.url
    
 

serializer.py :

from django.db.models import fields
from rest_framework import serializers

from .models import Product, Image


class ImageSerializer(serializers.ModelSerializer):
    class Meta:
        model = Image
        fields = "__all__"


class ProductSerializer(serializers.HyperlinkedModelSerializer):
   images = serializers.SerializerMethodField()

   def get_images(self, product):
       return ImageSerializer(product.product_images.all(), many=True).data

   class Meta:
       model = Product
       fields = ('id','images')

views.py :

class ImageViewSet(viewsets.ModelViewSet):
    queryset = Product.objects.all()
    serializer_class = ProductSerializer
    
    

admin.py

from django.contrib import admin
from .models import Product , ProductCategory ,Image
from . import models

admin.site.register(ProductCategory)

class ImageAdmin(admin.StackedInline):
    model = models.Image
    extra = 4
 
@admin.register(Product)
class ProductAdmin(admin.ModelAdmin):
    inlines = [ImageAdmin]
    readonly_fields=('views', )
 
    class Meta:
       model = Product
 
@admin.register(Image)
class ImageAdmin(admin.ModelAdmin):
    pass



template.html :

   <div class="product-bottom-slider owl-theme owl-carousel" id="sync2">
   {% for img in  images %}                   
   <div class="slide-top-item">
   <div class="slide-inner">
    <img src="{{img.image.url}}" alt="product">
   </div>
   </div>
   {% endfor %}
    </div>

Установили ли вы Pillow?

Вы можете сделать следующее:

class Image(models.Model):

image = models.ImageField(upload_to='static/img/card_image/%Y/%m/%d', blank=True)

template.html:

<img src="/{{ product.image }}" height="" width="" alt="{{ product.product_name }}" class="img-fluid" alt="">
Вернуться на верх