6

我刚刚将我的存储后端更改为 Amazon S3,我意识到我的背景没有为我的网站加载。我查看并意识到在我的 CSS(实际上是 SASS)中我已经指定了背景 URL(static/mysite/images/background.gif)。

我想知道我应该如何解决这个问题。当然,我可以将其更改为我的新静态 URL,但这似乎是一种不好的做法。{{ STATIC_URL }}所以我尝试在我的HTML 中加载我的背景图像,body但它首先渲染我的背景,然后再repeat: no-repeat;渲染我的实际 CSS,导致背景在加载 CSS 时在整个屏幕上重复。无论如何,我不喜欢将我的样式混合到我的文档中。

那么在 Django 中为背景图像提供相对路径的最佳方法是什么?我应该将我的 CSS 设置为模板,并通过视图直接指向它吗?这似乎也很乱。

还是我应该忘记让它与 static_url 无关,而只是在我的 CSS 中硬编码?

4

1 回答 1

8

Django 压缩器!

它使您可以直接在模板中渲染 CSS 片段,最终组合成一个文件,或者您甚至可以指定选项以使用 django 的模板引擎和上下文来解析您的 CSS 文件:http: //django_compressor.readthedocs.org/en /latest/settings/#django.conf.settings.COMPRESS_CSS_FILTERS

这太棒了,而且值得麻烦,因为您在管理 CSS 时不需要考虑性能。

于 2012-01-23T00:53:23.363 回答