Проблема с применением css в Django с приложением статических файлов

Я использую Django и не могу заставить работать свой style.css. Каждый раз, когда я загружаю страницу, над которой работаю, css не применяется. Также я получаю это в терминале "GET /css/style.css HTTP/1.1" 404 2239

Мой style.css находится в .../Templates/site_media/static/css

У меня также есть djago.contrib.staticfiles в INSTALLED_APPS.

У меня это есть в settings.py

STATIC_URL = '/static/'


STATICFILES_DIRS = "/Templates/site_media/",

Это то, что у меня есть в моем шаблоне для загрузки css

<link href="{{STATIC_URL}}css/style.css" rel="stylesheet" type="text/css" >

person user671800    schedule 22.03.2011    source источник
comment
Когда вы просматриваете HTML, что он показывает как href? Передается ли переменная STATIC_URL в шаблон?   -  person Dan Breen    schedule 22.03.2011
comment
Что вы подразумеваете под передачей переменной STATIC_URL в шаблон? Я использовал ‹link href={{STATIC_URL}}static/css/style.css ....›   -  person user671800    schedule 22.03.2011


Ответы (1)


Мой style.css находится в .../Templates/site_media/static/css

не соответствует

<link href="{{STATIC_URL}}css/style.css" rel="stylesheet" type="text/css" >

вам нужно будет иметь свою ссылку как:

<link href="{{STATIC_URL}}static/css/style.css" rel="stylesheet" type="text/css" >

Изменить Использовать абсолютные пути для STATICFILES_DIRS (спасибо, Юджи):

настройки.py:

import os
SITE_ROOT = os.path.dirname(os.path.realpath(__file__))

STATIC_URL = '/static/'
STATICFILES_DIRS = ((os.path.join(SITE_ROOT,'Templates/site-media'),)

убедитесь, что ваш:

TEMPLATE_CONTEXT_PROCESSORS есть 'django.core.context_processors.static',

person dting    schedule 22.03.2011
comment
кроме того, STATICFILES_DIRS должен быть списком или кортежем, И они должны быть абсолютными путями. Я предполагаю, что .../Templates не /Templates. - person Yuji 'Tomita' Tomita; 22.03.2011
comment
хорошие моменты, хотя я думаю, что запятая в конце удвоит (?) Это. - person dting; 22.03.2011
comment
Я изменил свой settings.py на предложения, которые предложил Кригар, и он все еще не работает. Я получаю это сейчас в терминале, хотя GET /static/css/style.css HTTP/1.1 404 1730 - person user671800; 22.03.2011
comment
проверьте, размещен ли ваш файл css... введите в свои браузеры http://<site>/static/static/css/style.css, если вы не хотите избыточной статики, вы должны изменить свой STATICFILES_DIR на ((os.path.join(SITE_ROOT,'Templates/site-media/static'),), а затем ваш файл css должен быть размещен по адресу /static/css/style.css. Однако, основываясь на комментариях выше, похоже, что ваш {{ STATIC_URL }} не достигает шаблона. - person dting; 23.03.2011