Изображение не отображается на веб-странице, несмотря на добавление всех необходимых кодов [дубликат]

Я пытаюсь загрузить изображение, чтобы сделать его видимым на веб-странице, но этого не происходит, появляется alt="изображение не найдено". Я делаю CRUD-проект, используя сериализаторы. enter image description here

это, конечно, означает, что нет проблемы с путями, которые я вставил, но проблема в другом месте, но я не могу понять это, и я пробовал много раз.

ниже приведены функции показа и вставки

def show(request):
    showall = Products.objects.filter(isactive=True) 
    print("show all data:",showall)
    serializer = POLLSerializer(showall,many=True)  
    data = serializer.data
    
    for i in range(len(data)):
        product = Products.objects.filter(id=data[i]['id']).first()
        data[i]['categories'] = product.categories.__str__()
        data[i]['color'] = product.color.__str__()
        data[i]['size'] = product.size.__str__()
        data[i]['sub_categories'] = product.sub_categories.__str__()
    
    context = {"data":data}
    return render(request,'polls/product_list.html',context)


def insert(request):
    data = {}
    if request.method == "POST":
        print('POST',id)
        data['categories'] = request.POST.get('categories')
        data['sub_categories'] = request.POST.get('sub_categories')
        data['color'] = request.POST.get('color')
        data['size'] = request.POST.get('size')
        data['title'] = request.POST.get('title')
        data['price'] = request.POST.get('price')
        data['sku_number'] = request.POST.get('sku_number')
        data['product_details'] = request.POST.get('product_details')
        data['quantity'] = request.POST.get('quantity') 
        data['image'] = request.FILES['image']
        form = POLLSerializer(data=data)
        print(form)
        if form.is_valid():
            print('form after valid:',form)
            print("error of form:",form.errors)
            form.save()
            
            messages.success(request, "Record Updated Successfully...!:)")
            return redirect("polls:show")
        else:
            print('form not valid')
            print(form.errors)
    if request.method == "GET":
        print('POST',id)
        category_dict = Categories.objects.filter(isactive=True)
        category = CategoriesSerializer(category_dict, many=True)
        sub_category_dict = SUBCategories.objects.filter(isactive=True)
        sub_category = SUBCategoriesSerializer(sub_category_dict,many=True)
        color_dict = Colors.objects.filter(isactive=True)
        color = ColorsSerializer(color_dict,many=True)
        size_dict = Size.objects.filter(isactive=True)
        size = SizeSerializer(size_dict,many=True)
        hm = {"context": category.data,"sub_context":sub_category.data,"color_context":color.data,"size_context":size.data}
        return render(request, "polls/product_insert.html", hm)

модели

class Products(models.Model):
    categories = models.ForeignKey(Categories,on_delete=models.CASCADE)
    sub_categories = models.ForeignKey(SUBCategories,on_delete=models.CASCADE)
    color = models.ForeignKey(Colors,on_delete=models.CASCADE)
    size = models.ForeignKey(Size,on_delete=models.CASCADE)
    image = models.ImageField(upload_to = 'media/',width_field=None,height_field=None,null=True)
    title = models.CharField(max_length=50)
    price = models.CharField(max_length=10)
    sku_number = models.CharField(max_length=10)
    product_details = models.CharField(max_length=300)
    quantity = models.IntegerField(default=0)
    isactive = models.BooleanField(default=True)
    
def filepath(request,filename):
    old_filename = filename
    timeNow = datetime.datetime.now().start('%Y%m%d%H:%M:%S')
    filename = "%s%s" % (timeNow,old_filename)
    return os.path.join('uploads/',filename)

product_list for loop html

{% for result in data %}
      <tbody>
        <tr>
          <td><b>{{result.categories}}</b></td>
          <td><b>{{result.sub_categories}}</b></td>
          <td><b>{{result.color}}</b></td>
          <td><b>{{result.size}}</b></td>
          <td><b>{{result.title}}</b></td>
          <td><b>{{result.price}}</b></td>
          <td><b>{{result.sku_number}}</b></td>
          <td><b>{{result.product_details}}</b></td>
          <td><b>{{result.quantity}}</b></td>
          {% if result.image %}
            <td>
              <img src="{{result.image.url}}" alt="no image found">
            </td>
          {% endif %}
          <td style="position: relative;left:50px;">
            <a href="/update/{{result.id}}/">
              <button class="btn btn-primary">
                Edit
              </button>
            </a>
          </td>
          <td>
            <a href="/delete/{{result.id}}/" onclick="return confirm('Are You Sure you want to delete?')">
              <button class="btn btn-danger">
                Delete
              </button>
            </a>
          </td>
        </tr>
      {% endfor %}

product_insert

<tr>
    <td>Product Image</td>
    <td>
        <input type="file" name="image">
    </td>
</tr>

в случае, если я ошибаюсь в отношении пути, который я установил, ниже приведены пути в settings.py

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')
]
MEDIA_ROOT = os.path.join(BASE_DIR,'media')
MEDIA_URL = '/media/'

Вернуться на верх