I think my url path and code is correct but still why images are not showing in admin pannel

You can see in the image the product image is not displaying

My models.py:

# from email.policy import default
# from pyexpat import model
from django.db import models
# from unicodedata import decimal
from shortuuid.django_fields import ShortUUIDField
from django.utils.html import mark_safe
from userauths.models import CustomUser



STATUS_CHOICE=(
    ("process","Processing"),
    ("shipped","Shipped"),
    ("delevered","Delevered"),
)



STATUS=(
    ("draft","Draft"),
    ("disable","Disable"),
    ("rejected","Rejected"),
    ("In_review","In Review"),
    ("published","Published"),
)


RATING=(
    (1,"⭐☆☆☆☆"),
    (2,"⭐⭐☆☆☆"),
    (3,"⭐⭐⭐☆☆"),
    (4,"⭐⭐⭐⭐☆"),
    (5,"⭐⭐⭐⭐⭐"),
)
# Create your models here.

def user_directory_path(instance,filename):
    return 'user_{0}/{1}'.format(instance.user.id, filename)


class Category(models.Model):
    cid=ShortUUIDField(length=10,max_length=100,prefix="cat",alphabet="abcdef")
    title=models.CharField(max_length=100,default="Food")
    image=models.ImageField(upload_to="category",default="category.jpg")

    class Meta:
        verbose_name_plural="Categories"

    def catagory_image(self):
        return mark_safe('<img src="%s" width="50" height="50"/>'%(self.image.url))

    def __str__(self):
        return self.title


class Tags(models.Model):
    pass

class Vendor(models.Model):
    vid=ShortUUIDField(length=10,max_length=100,prefix="ven",alphabet="abcdef")


    title=models.CharField(max_length=100,default="Nest")
    image=models.ImageField(upload_to=user_directory_path,default="vendor.jpg")
    description=models.TextField(null=True, blank=True,default="Normal Vendorco")


    address=models.CharField(max_length=100, default="6,Dum Dum Road")
    contact=models.CharField(max_length=100, default="+91")
    chat_resp_time=models.CharField(max_length=100,default="100")
    shipping_on_time=models.CharField(max_length=100,default="100")
    authenticate_rating=models.CharField(max_length=100,default="100")
    days_return=models.CharField(max_length=100,default="100")
    warranty_period=models.CharField(max_length=100,default="100")


    user=models.ForeignKey(CustomUser, on_delete=models.SET_NULL ,null=True)


    class Meta:
        verbose_name_plural="Vendors"

    def Vendor_image(self):
        return mark_safe('<img src="%s" width="50" height="50"/>'%(self.image.url))

    def __str__(self):
        return self.title

class Product(models.Model):
    pid=ShortUUIDField(length=10,max_length=100,prefix="prd",alphabet="abcdef")


    user=models.ForeignKey(CustomUser, on_delete=models.SET_NULL ,null=True)
    cagtegory=models.ForeignKey(Category, on_delete=models.SET_NULL ,null=True)


    title=models.CharField(max_length=100,default="Apple")
    image=models.ImageField(upload_to=user_directory_path,default="product.jpg")
    description=models.TextField(null=True, blank=True,default="This is a product")

    price = models.DecimalField(max_digits=10, decimal_places=2, default=1.99)
    old_price = models.DecimalField(max_digits=10, decimal_places=2, default=2.99)

    specifications=models.TextField(null=True, blank=True)
    # tags=models.ForeignKey(Tags, on_delete=models.SET_NULL ,null=True)

    product_status=models.CharField(choices=STATUS, max_length=10,default="In_review")


    status=models.BooleanField(default=True)
    in_stock=models.BooleanField(default=True)
    featured=models.BooleanField(default=False)
    digital=models.BooleanField(default=False)

    sku=ShortUUIDField(length=10,max_length=100,prefix="sku",alphabet="abcdef")

    date=models.DateTimeField(auto_now_add=True)
    updated=models.DateTimeField(null=True,blank=True)

    class Meta:
        verbose_name_plural="Products"

    def product_image(self):
        return mark_safe('<img src="%s" width="50" height="50"/>'%(self.image.url))

    def __str__(self):
        return self.title
    def get_percentage(self):
        new_price=(self.price/self.old_price) * 100
        return new_price

class ProductImages(models.Model):
    images=models.ImageField(upload_to="product-image",default="product.jpg")
    product=models.ForeignKey(Product, on_delete=models.SET_NULL ,null=True)
    date=models.DateTimeField(auto_now_add=True)

    class Meta:
        verbose_name_plural="Product Images"



######################################################Care,Order,CartItemsand Address###########################

class CartOrder(models.Model):
    user=models.ForeignKey(CustomUser,on_delete=models.CASCADE)
    price= models.DecimalField(max_digits=10, decimal_places=2,default="1.99")
    paid_status=models.BooleanField(default=False)
    order_date=models.DateTimeField(auto_now_add=True)
    product_status=models.CharField(choices=STATUS_CHOICE, max_length=30,default="prodcessing")

    class Meta:
        verbose_name_plural="Cart Order"

class CartOrderItems(models.Model):
    order=models.ForeignKey(CartOrder,on_delete=models.CASCADE)
    invoice_num = models.BigIntegerField(blank=True,null=True)
    product_status=models.CharField(max_length=200)
    item=models.CharField(max_length=100)
    image=models.CharField(max_length=100)
    qty=models.BigIntegerField(default=0)
    price= models.DecimalField(max_digits=12, decimal_places=2,default="15")
    total= models.DecimalField(max_digits=12, decimal_places=2,default="20")

    class Meta:
        verbose_name_plural="Cart Order Items"

    def oder_img(self):
        return mark_safe('<img src="/media/%s" width="50" height="50"/>'%(self.image))


###########################Product Revew, wishlist, Address############################################

class ProductReview(models.Model):
    user=models.ForeignKey(CustomUser, on_delete=models.SET_NULL ,null=True)
    product=models.ForeignKey(Product, on_delete=models.SET_NULL ,null=True)
    review=models.TextField()
    rating = models.BigIntegerField(choices=RATING, default=3)

    date=models.DateTimeField(auto_now_add=True)

    class Meta:
        verbose_name_plural="Product Reviews"

    def __str__(self):
        return self.product.title

    def get_rating(self):
        return self.rating



class wishlist(models.Model):
    user=models.ForeignKey(CustomUser, on_delete=models.SET_NULL ,null=True)
    product=models.ForeignKey(Product, on_delete=models.SET_NULL ,null=True)
    date=models.DateTimeField(auto_now_add=True)

    class Meta:
        verbose_name_plural="wishlists"

    def __str__(self):
        return self.product.title



class Address(models.Model):
    user=models.ForeignKey(CustomUser, on_delete=models.SET_NULL ,null=True)
    address=models.CharField(max_length=100, null=True)
    status=models.BooleanField(default=False)

    class Meta:
        verbose_name_plural="Address"












in my admin.py:

from django.contrib import admin
from core.models import *

# Register your models here.


class ProductImagesAdmin(admin.TabularInline):
    model= ProductImages

class ProductAdmin(admin.ModelAdmin):
    inlines=[ProductImagesAdmin]
    list_display=['user','title','product_image','price','featured','product_status']

class CategoryAdmin(admin.ModelAdmin):
    list_display=['title','catagory_image']

class VendorAdmin(admin.ModelAdmin):
    list_display=['title','Vendor_image']

class CartOrderAdmin(admin.ModelAdmin):
    list_display=['user','price','paid_status','order_date','product_status']

class CartOrderItemsAdmin(admin.ModelAdmin):
    list_display=['order','invoice_num','product_status','item','image','qty','price','total']

class ProductReviewAdmin(admin.ModelAdmin):
    list_display=['user','product','review','rating','date']

class wishlistAdmin(admin.ModelAdmin):
    list_display=['user','product','date']

class AddressAdmin(admin.ModelAdmin):
    list_display=['user','address','status']

admin.site.register(Product,ProductAdmin)
admin.site.register(Category,CategoryAdmin)
admin.site.register(Vendor,VendorAdmin)
admin.site.register(CartOrder,CartOrderAdmin)
admin.site.register(CartOrderItems,CartOrderItemsAdmin)
admin.site.register(ProductReview,ProductReviewAdmin)
admin.site.register(wishlist,wishlistAdmin)
admin.site.register(Address,AddressAdmin)



please check out my problem. I think my code is correct but in the image that I send you can see that images are not displaying in product image collumn. What is going wrong? All the tables are working properly also I can uplode products.But the problem is only with the image. I go to Inspct mode and see the required image size but still not working. Please help me out.

Back to Top