如何在div的html背景url中使用产品图像?姜戈



我不知道如何在模板中显示产品图像。图像需要进入div的背景url中,使用static不是一个选项,因为它不会来自模型。

Html

....
{% if products %}
{% for product in products %}

<div class="product-grid" style="background-image:url({% static 'images/product-1.jpg' %});">
<div class="inner">
<p>
<a href="{% url 'single_product' %}" class="icon"><i class="icon-shopping-cart"></i></a>
<a href="{% url 'single_product' %}" class="icon"><i class="icon-eye"></i></a>
</p>
</div>
</div>
{{ product.title }}
${{ product.price }}
{% endfor %}
{% endif %}
....

型号

class Product(models.Model):
....
photo_main = models.ImageField(upload_to='photos/%Y/%m/%d/')
def __str__(self):
return self.title

查看

def shop(request):
products = Product.objects.order_by('-upload_date').filter(is_published=True)
context = {'products': products}
return render(request, 'shop/shop.html', context)

设置

STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'ecom/static')
]

如果你知道怎么做,请给我一个答案?有关更多信息,请参阅图片

存储在ImageField中的文件是媒体文件,而不是静态

它们由MEDIA_ROOTMEDIA_URL设置管理,必须在以下模板中引用:

style="background-image:url('{% product.photo_main.url %}');"

注意{}周围的附加单引号

相关内容

  • 没有找到相关文章

最新更新