我正在尝试获取背景图片以显示在Amazon S3上托管静态文件。我的base.html中的以下代码运行良好,并找到位于我的S3存储桶中的CSS文件:
<link rel="stylesheet" href="{{ STATIC_URL }}css/stylesheet.css" type="text/css" />
我的问题是,在我的CSS文件中,以下行似乎找不到图像:
background-image: url("{{ STATIC_URL }}img/GreenBackground.jpg") no-repeat center center fixed;
我的亚马逊存储桶看起来像
/newdjangoapp
--/admin
--/css
----/stylesheet.css
--/img
----/GreenBackground.jpg
我尝试在img和css目录周围添加一个额外的'static'目录并在文件路径中更新它,我尝试了以下代码:
background-image: url("{{ STATIC_URL }}../img/GreenBackground.jpg") no-repeat center center fixed;
甚至
background-image: url("../img/GreenBackground.jpg") no-repeat center center fixed;
我的静态网址设置如下:
STATIC_URL = 'http://s3.amazonaws.com/' + AWS_STORAGE_BUCKET_NAME +'/'
和静态目录......
STATIC_ROOT = os.path.join(PROJECT_DIR,'')
STATICFILES_DIRS = (
os.path.join(PROJECT_DIR, 'static/'),
)
非常感谢任何有关修复此问题的帮助!
答案 0 :(得分:1)
也许你应该以不同的方式引用它,因为你的css不知道{{STATIC_URL}}。看看你如何在你的django settings.py文件中定义static(在我的例子中我有它“/ static /”),然后在css文件中引用它。而不是{{STATIC_URL}},让你的引用和你一样在您的settings.py文件中(在我的情况下是“/ static / css ...”)