【问题标题】:Why isn't Django displaying my dynamic background images on my template为什么 Django 不在我的模板上显示我的动态背景图像
【发布时间】:2019-09-11 00:34:54
【问题描述】:

我正在使用 django 在我的模板上显示我的数据库中的动态内容。当我在 google 开发者控制台中检查图像 url 时,它显示我尝试显示的图像的 url 是正确的,但它仍然没有在页面上显示图像。

template = loader.get_template("selling/shop.html")
    if Product.objects.exists():
        products = Product.objects.all()
        for product in products:
            productimages = product.productimage_set.all()
            for productimage in productimages:
                imageurl = productimage.product_images.url
            context = {
                    "products" : products,
                    "imageurl" : imageurl,
                }



<div class="container" id="storediv" >
   <div  id="noproducts">
     {% if products %}
     {% for product in products %}
     <div class="holla2 col-sm-12 col-lg-3" id="holla" style="background-image: url('{{ product.productimage_set.first.product_images.url }}');">
           <div class="alltext" id="textcontainer">
             <p class="alltext" id="one">{{ product.title}}</p>
             <p id="two">${{ product.price }}</p>
             <!-- <p id="three">{{ product.product_description }}</p> -->
          </div>
    </div>
     {% endfor %}
     {% else %}
     <h2>There don't seem to be any products now. Please check back later! 

为了进一步澄清,它说: style="backgroundimage:url('{{product.productimage_set.first.product_images.url }}');" 工作正常并显示图片网址,但图片未显示在页面上。

【问题讨论】:

  • views.py 是代码的第一部分吗?理解起来有点混乱。您能否正确发布您的views.py,如果可能,也发布models.py,以便我们查看您的关系?
  • 你的风格搞错了。将backgroundimage 更改为background-image

标签: django image templates view model


【解决方案1】:

如果您的图片在您的 MEDIA_URL 中,您可以使用以下代码

<header class="masthead" style="background-image:url({{ MEDIA_URL }}{{ object.image.url }});">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-17
    • 1970-01-01
    • 1970-01-01
    • 2020-04-24
    相关资源
    最近更新 更多