Django应用不会加载CSS背景图片,但是会以内嵌样式加载图片。有解决方法吗?

时间:2018-11-20 12:37:59

标签: css django twitter-bootstrap

** 编辑 ** 已解决

我在我的Django管理页面上使用bootstrap_admin应用程序。如果您在Django Admin页面上使用bootstrap_admin应用,则这对于自定义边栏可能会派上用场。

TLDR:

Sidebar.html仅看到base.css,看不到我的custom.css文件,因此我不得不将所有内容添加到base.css

长版:

看看休息时间,看看我原来的问题。

因此,从本质上讲,bootstrap管理员具有用于边栏的模板标签。此侧边栏是使用sidebar.html模板自定义的,但实际上并不是我所想的模板。它实际上是使用几个命令(例如:

)称为 的模板
{% display_sidebar_menu cl.has_filters as is_displaying_menu %} 

{% block sidebar_menu %}
{% render_menu_app_list %}

因此,即使出于某种原因,sidebar.html文件也看不到我的custom.css文件,即使它在 之后出现在base.html头中。

无论如何,由于这个原因,我发现我必须将自定义类直接放入base.css文件中。幸运的是,该文件很小并且易于维护,因此这没什么大不了的。

背景图像现在可以正确显示,我不必使用任何内联样式,这很棒。

对于那些花时间发表评论的人,感谢您的宝贵时间。希望我的错误将来对其他人有帮助。


如标题所述。

我遇到了一个有趣的问题。这与css背景图片有关。我正在侧边栏菜单中加载应用名称及其模型,由于某些原因,图像将无法加载。

我在应用程序的静态文件夹中添加了图像。 css文件中的代码如下:

/* App Buttons and Icons */

#servers_icon {
  background-image: url("/static/bootstrap_admin/img/icon_servers_copy.png") no-repeat;
}

#sensors_icon {
  background-image: url("/static/bootstrap_admin/img/icon_sensors_copy.png") no-repeat;
}

记下路径。

由于某种原因,django拒绝加载这些文件。该应用程序正在加载css文件并积极使用该文件。 ID名称正确。但是,图像将无法加载。

但是,如果我将它们内联在HTML文件中:

<li style="background-image: url('/static/bootstrap_admin/img/icon_{{ app.app_label }}_copy.png'); background-repeat: no-repeat;" {% if app.app_url == current_url %}class="active"{% endif %}>
        <a href="{{ app.app_url }}" class="section" title="Models in the {{ name }} application">
          {{ app.name }}
        </a>
      </li>

然后加载图像。请注意,路径是相同的。

{{app.app_label}}是填充菜单的for模板内循环的一部分。标签名称和文件名匹配。实际上,文件名已重命名为与应用标签名匹配。

无论如何,我检查了许多资源,但似乎找不到解决方法。现在,我将使样式保持一致,但是如果可能的话,我想恢复使用CSS文件。我真的不喜欢使用内联样式。

请注意,这是开发代码。老实说,我很困惑,除了继续使用内联样式只是为了加载图标之外,我目前不知道该怎么做。

0 个答案:

没有答案