Ссылка на изображение в CSS по относительному пути не работает в Django

Я использую Django 1.3 со встроенным статическим приложением.

Моя статическая структура папок выглядит так:

static/
    css/
       main.css
       img/
    js/

Итак, я попытался ссылаться на изображения в папке static / css / img / из CSS следующим образом:

background:url('img/btn_white.gif') repeat-x;

Но изображения не отображаются . Когда я проверял элементы в Chrome, я обнаружил, что путь к изображению равен http: //localhost/mysite/static/css/main.css/img/btn_white.gif/

Что очень странно, поскольку этот относительный путь должна быть ссылка на папку static / css / вместо main.css . Поэтому я попытался изменить путь на url ('../ img / btn_white.gif') , и он работает в Chrome и Firefox, но не в IE.

Я почти уверен, что это проблема связан с Django, потому что в моем чистом HTML / CSS этот относительный путь работает нормально. Я также попытался поместить css в папку мультимедиа, и проблема та же.

Мои настройки, относящиеся к статическому приложению:

в settings.py:

STATIC_ROOT = os.path.join(os.path.dirname(__file__),'static').replace('\\','/')
STATIC_URL = 'http://localhost/mysite/static/'

в urls.py:

(r'^static/(?P.*)/$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}),

Связанный вопрос: Относится ли относительный путь в файле CSS к файлу CSS?

8
задан Community 23 May 2017 в 10:28
поделиться