Фоновое изображение Django CSS с использованием STATIC_URL - PullRequest
6 голосов
/ 23 января 2012

Я просто изменил свой бэкэнд хранилища на Amazon S3 и понял, что мой фон не загружается для моего сайта.Я посмотрел и понял, что в моем CSS (на самом деле SASS) я указал фоновый URL (static/mysite/images/background.gif).

Мне интересно, как мне решить эту проблему.Конечно, я мог бы просто изменить его на мой новый статический URL, но это кажется плохой практикой.Поэтому я попытался загрузить мое фоновое изображение с {{ STATIC_URL }} в мой body HTML, но затем оно сначала отображает мой фон, прежде чем repeat: no-repeat; отобразит мой фактический CSS, заставляя фон повторяться по всему экрану, покаCSS загружается.В любом случае, мне не нравится смешивать мои стили в моем документе.

Итак, как лучше всего указать относительный путь для фонового изображения в Django?Должен ли я настроить свой CSS как шаблон и перейти к нему через представление?Это также кажется грязным.

Или я должен просто забыть о том, чтобы сделать его независимым от static_url, и просто жестко написать код в моем CSS?

1 Ответ

8 голосов
/ 23 января 2012

Компрессор Django!

Это позволяет вам отображать фрагменты CSS непосредственно внутри вашего шаблона, которые в конечном итоге объединяются в один файл ИЛИ вы даже можете указать параметры, позволяющие анализировать ваши файлы CSS с помощью механизма шаблонов и контекста django: http://django_compressor.readthedocs.org/en/latest/settings/#django.conf.settings.COMPRESS_CSS_FILTERS

Это удивительно и стоит потраченных усилий, так как вам не нужно думать о производительности при управлении CSS.

...