使用STATIC_URL的Django CSS背景图像

sau*_*ook 6 css django sass django-statistics django-storage

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

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

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

或者我应该忘记让它与static_url无关,只是硬编码我的CSS中的东西?

Yuj*_*ita 8

Django压缩器!

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

这是非常值得的,因为在管理CSS时不需要考虑性能.