为啥 Django 不在我的模板上显示我的动态背景图像

Posted

技术标签:

【中文标题】为啥 Django 不在我的模板上显示我的动态背景图像【英文标题】: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 【参考方案1】:

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

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

【讨论】:

以上是关于为啥 Django 不在我的模板上显示我的动态背景图像的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 django 模板无法识别我在 views.py 文件中设置的 url 参数?

为啥 Heroku 找不到我的 Django 模板?

为啥 Heroku 找不到我的 Django 模板?

为啥我的@yield() 没有显示内容?在 Laravel PHP 模板中

为啥 Django 模板循环嵌套了我的 div?

如何在 django 模板中显示保存的、动态创建的图像?