0

我正在尝试获取背景图像以显示在 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 目录周围添加一个额外的“静态”目录并在文件路径中更新它,我尝试了以下代码:

    background-image: url("{{ STATIC_URL }}../img/GreenBackground.jpg") no-repeat center center fixed;

乃至

    background-image: url("../img/GreenBackground.jpg") no-repeat center center fixed;

我的静态 URL 设置如下:

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/'),
)

任何有关解决此问题的帮助将不胜感激!

4

1 回答 1

1

也许您应该以不同的方式引用它,因为您的 css 不知道 {{ STATIC_URL }}。查看您如何在 django settings.py 文件中定义静态(在我的情况下,我有它“/static/”),然后像在 css 文件中那样引用它。而不是 {{STATIC_URL}},使您的引用与您相同在您的 settings.py 文件中创建(在我的情况下是“/static/css ...”)

于 2013-02-09T09:05:49.237 回答