【问题标题】:Django: Serving CSS from S3 with correct URL but won't loadDjango:使用正确的 URL 从 S3 提供 CSS 但不会加载
【发布时间】:2012-06-02 05:34:10
【问题描述】:

我已将我的 STATIC_URL 设置为我的 S3 存储桶和其中的静态目录的 URL。

STATIC_URL = 'https://s3.amazonaws.com/XXXXXXX/static/'

在我的模板中,我正在尝试从以下位置加载样式表:

<link href="{{ STATIC_URL }}css/bootstrap-responsive.css" rel="stylesheet">

样式表没有被加载,但是当我查看页面的源代码时,我可以单击为下载正确文件的样式表呈现的链接。此外,权限设置为查看 World,因此它可以访问,但不会加载(即使我在 Chrome 中进行了硬刷新)。

由于 URL 正确,为什么样式表无法加载?

提前感谢您的帮助-

【问题讨论】:

  • 如果 URL 实际上是正确的,这似乎是一个 HTML 问题,而不是任何与 Django 相关的问题。可能很愚蠢,但是您可以尝试将type="text/css" 添加到&lt;link&gt; 标记吗?另外,请仔细检查您的 &lt;link&gt; 是否在 &lt;head&gt;....
  • 它在 中,不幸的是添加类型没有做任何事情(HTML5)。但是感谢您的想法
  • 样式表的格式是否正确?也许其中有一个未封闭的评论标签?您可以尝试验证 html 和 css。

标签: css django amazon-s3 django-staticfiles


【解决方案1】:

尝试在 Firefox 中安装 Firebug。按 F12 打开 Firebug 窗口,单击 Net 选项卡,然后执行 shift-reload。这将为您提供所有下载的详细信息。单击您遇到问题的文件,它将为您提供所有 HTTP 请求/响应标头。启蒙往往紧随其后。

【讨论】:

    【解决方案2】:

    来自 Django 文档:https://docs.djangoproject.com/en/1.4/ref/templates/builtins/

    staticfiles contrib 应用附带一个静态模板标签,该标签使用静态文件的 STATICFILES_STORAGE 来构建给定路径的 URL。如果您有高级用例例如使用云服务来提供静态文件,请使用它:

    {% load static from staticfiles %}
    <img src="{% static "images/hi.jpg" %}" />
    <link href="{% static "css/bootstrap-responsive.css" %}" rel="stylesheet">
    

    【讨论】:

      【解决方案3】:

      当您将.css文件上传到S3时,它会将文件的内容类型设置为binary/octet-stream

      要解决此问题,请按照以下教程操作:http://log.adamwilcox.org/2012/05/04/css-on-amazon-s3/

      【讨论】:

        猜你喜欢
        • 2012-04-12
        • 2017-10-22
        • 2019-09-20
        • 1970-01-01
        • 2020-11-08
        • 2013-02-20
        • 2013-08-24
        • 2014-12-03
        • 2014-01-30
        相关资源
        最近更新 更多