Django:使用正确的URL从S3提供CSS,但不会加载

时间:2012-05-27 14:24:40

标签: css django amazon-s3 django-staticfiles

我已将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不正确?

提前感谢您的帮助 -

3 个答案:

答案 0 :(得分:2)

尝试在Firefox中安装Firebug。按F12打开Firebug窗口,单击Net选项卡,然后执行shift-reload。这将为您提供所有下载的详尽介绍。单击您遇到问题的文件,它将为您提供所有HTTP请求/响应标头。很快就会有启蒙运动。

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

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

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