【问题标题】:Django only loads the first static file in a templateDjango 只加载模板中的第一个静态文件
【发布时间】:2016-03-15 01:10:22
【问题描述】:

正如标题所说,只加载了 Django 模板中的第一个静态文件。

这是有问题的代码:

{% load staticfiles %}

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>{% block title %}{% endblock title %}</title>
        <link rel="stylesheet" href="{% static 'global/css/grid.css' %}" media="screen" title="grid" charset="utf-8">
        <link rel="stylesheet" href="{% static 'global/css/style.css' %}" media="screen" title="main" charset="utf-8">
    </head>

我在我的 STATICFILES_DIRS 中正确设置了“全局”,该目录中同时存在“grid.css”和“style.css”,并且两种样式不冲突。

但是当我渲染一个包含上述代码的页面时,只会加载“grid.css”。

当我在 chrome 中检查检查元素时,两个链接都正确显示/渲染

<link rel="stylesheet" href="global/css/grid.css" media="screen" title="grid" charset="utf-8">
<link rel="stylesheet" href="global/css/style.css" media="screen" title="main" charset="utf-8">

但是当我检查 chromes 开发工具的“来源”时,它会显示文件夹“static/global/css”,并且在其中显示 grid.css。所以 Django 没有在响应中传递 style.css。

我知道 style.css 有效,当我注释掉加载 grid.css 的行时,style.css 确实 加载。

因此,似乎只有模板中请求的第一个静态文件才会在响应中传递。

【问题讨论】:

  • 所以如果你改变css文件的顺序,它又是第一个加载的?
  • 是的,如果我在上面的代码中切换 grid.css 和 style.css,那么 style.css 会加载而 grid.css 不会

标签: python html django


【解决方案1】:

这是 HTML 属性“标题”。当在样式表链接上设置时,该样式表将成为“首选”样式表,而所有其他样式表将被忽略。我摆脱了标题属性并且它起作用了。

【讨论】:

    【解决方案2】:

    我不认为这是来自 Django,据我所知 django 并没有这样做。

    清除缓存并重试。也许您的第一个 CSS 文件可能已经从缓存中加载,而第二个文件可能没有更早地缓存。

    如果清除缓存后两个文件都没有加载,那么你的静态文件配置有问题。

    如果第一个 CSS 在清除缓存后仍然出现,请检查 Google Chrome 中的“网络”选项卡。查看请求的去向,并查看收到的响应。检查响应是文件还是 404 或 503 并进行相应的调试。

    【讨论】:

    • 两个静态文件都得到 304 ¯_(ツ)_/¯
    • 这意味着您的两个文件都从缓存中加载。您可以通过在浏览器的开发工具(网络选项卡 -> 禁用缓存)中选中“禁用缓存”来强制在浏览器中重新加载。然后在不关闭 chrome 中的开发工具的情况下重新加载页面。因为关闭它将启用缓存。现在你应该得到 200 作为两个文件的响应状态。
    • 我做到了,我现在收到了 200 条回复。但仍然只返回模板中的第一个静态文件
    • 奇怪,这两个文件都出现在网络选项卡中,以及它们的内容。但是,仍然只有第一个静态文件出现在 Sources 选项卡中,并且实际呈现在页面上
    • Welp,这些文件显示正确。我会尝试找到问题的另一个根源。感谢您这么长时间的帮助:)
    猜你喜欢
    • 1970-01-01
    • 2016-03-02
    • 2020-10-02
    • 2016-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-22
    • 2016-02-23
    相关资源
    最近更新 更多