Django 2 Изображения из STATIC_URL не загружаются в Css - PullRequest
1 голос
/ 06 марта 2019

Я работаю над проектом Django (2.1.7), в котором мне нужно загрузить несколько изображений в файл css. Вот что у меня есть:

От settings.py:

STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/assets/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'assets'), ]

У меня есть каталог в главной папке проекта с именем assets, а также 'django.contrib.staticfiles' в INSTALLED_APPS, а затем я упомянул некоторые изображения в css как:

background: url('/assets/images/demo.png') center no-repeat;

Изображение доступно в папке images, но не отображается в шаблоне.

Что здесь может быть не так?

Ответы [ 2 ]

1 голос
/ 06 марта 2019

Путь, который вы указываете в вашем css, равен относительно пути к вашему файлу css .Так что этот URL будет работать, только если ваш файл CSS находится в каталоге, который содержит каталог assets .

Вопрос в том, где находится ваш файл CSS.Предполагая, что он находится в папке / assets / css (внутри assets), ваш URL должен быть:

background: url('../images/demo.png') center no-repeat;
0 голосов
/ 06 марта 2019

Добавьте приведенный ниже фрагмент к вашему urls.py файлу

# <----------- rest of the code----------->
urlpatterns += static('/assets/', document_root=settings.STATIC_ROOT) + static(
    settings.STATIC_URL, document_root=settings.STATIC_ROOT
)
...