我第一次在Django中建立一个电子商务网站。尽管遵循了YT教程,但我无法渲染从Django管理面板上传的图像。以下是我的代码:
- Models.py
class Product(models.Model):
name = models.CharField(max_length=200, null=True)
price = models.FloatField()
image = models.ImageField(null=True, blank=True, upload_to='image/')
def __str__(self):
return self.name
- Views.py
def category(request):
products = Product.objects.all()
context = {"products":products}
return render(request,'store/category.html', context)
- category.html
{% for product in products %}
<div class="col-lg-4 col-md-6">
<div class="product__item">
<div class="product__item__pic set-bg" data-setbg="{{product.image.url}}">
<div class="label new">New</div>
<ul class="product__hover">
<li><a href="{{product.imageURL}}" class="image-popup"><span class="arrow_expand"></span></a></li>
<li><a href="#"><span class="icon_heart_alt"></span></a></li>
<li><a href="#"><span class="icon_bag_alt"></span></a></li>
</ul>
</div>
<div class="product__item__text">
<h6><a href="#">{{product.name}}</a></h6>
<div class="rating">
<i class="fa fa-star"></i>
<i class="fa fa-star"></i>
<i class="fa fa-star"></i>
<i class="fa fa-star"></i>
<i class="fa fa-star"></i>
</div>
<div class="product__price">${{product.price|floatformat:2}}</div>
</div>
</div>
</div>
{% endfor %}
- settings.py
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
我得到的错误:
请救救我谢谢。
我试着按照Youtube教程在django中渲染图像。
1条答案
按热度按时间unhi4e5o1#
Django显示一个错误,当文件没有关联到图像域时,在保存
Product
模型的对象时,确保添加一个图像文件到域中,你可以使用下面的代码片段: