【问题标题】:I am unable to load django static files from css in html我无法从 html 中的 css 加载 django 静态文件
【发布时间】:2019-03-24 23:19:51
【问题描述】:

我无法从 html 文件中的 inline-css 加载静态文件,该文件存在于 django 应用程序的模板文件中。 供参考,原文件代码为

<a class="portfolio-item" style="background-image: url(img/portfolio8.jpg);" href="">

我正在尝试导入最初存在于 django 静态文件的 img 文件夹中的portfolio8.jpg。我将代码更改为:

<a class="portfolio-item" style="background-image: url({% static 'proj/img/portfolio8.jpg' %});" href="">

这样做没有用。如果有人可以帮助如何从样式中加载 img url,那就太好了。

【问题讨论】:

  • 图片是否位于静态文件夹中?
  • 你在设置中设置了静态文件目录吗?
  • 是的,静态文件适用于所有其他情况。就像,我试图通过从静态加载来从 href 加载图像。所以,我添加了 {% load static %} 并在 href 中添加了 {% static 'proj/img/logo.png' %},它工作得很好。当我在样式区域中添加它时,它只是不起作用
  • 如果你在css中添加背景图片,直接用完整路径调用它,例如static/rest_of_path,而不是写在静态标签内。

标签: html django django-urls


【解决方案1】:

如果你在样式区使用它,试试这个

&lt;a class="portfolio-item" style="background-image: url('static/proj/img/portfolio8.jpg');" href=""&gt;

【讨论】:

    【解决方案2】:

    不要在样式标签中传递图像。这样做的是,它将为输入的文本设置背景图像(您没有通过)。试试下面的代码,它应该适合你。

    <a class="portfolio-item" href="">
    <img src="{% static 'proj/img/portfolio8.jpg' %}"/>
    </a>
    

    谢谢。

    【讨论】:

      【解决方案3】:

      为了加载静态文件,首先您可能需要使用以下命令收集静态文件:

      python manage.py collectstatic
      

      在模板中,加载静态标签:

      {% load static from staticfiles %}
      

      【讨论】:

        猜你喜欢
        • 2011-11-26
        • 1970-01-01
        • 1970-01-01
        • 2018-05-08
        • 2018-08-31
        • 2021-05-05
        • 2014-07-12
        • 2018-03-19
        • 2020-08-31
        相关资源
        最近更新 更多