Задать вопрос

Почему не подключается СSS к Django?

Доброго времени суток, второй день не могу разобраться. Организация проекта следующая:

mysite ---
	     \  static ---
	     		   | my_css.css

	     \  templates ---
	     	    |base.html


настройки в файле settings.py:
STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, "mysite","media")
MEDIA_URL = '/media/'
STATIC_ROOT = os.path.join(BASE_DIR, "mysite", "static")


файл base.html :
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>{% block title %} {% endblock %}</title>
	<link rel="stylesheet" href="{{ STATIC_URL }}my_css.css"> 
</head>
<body>
	<h1>My site current time</h1>
	{% block content %} {% endblock content %}
	{% block footer %}
	<hr>
	<p>Thank you for your come.</p>
	{% endblock %}
</body>
</html>


my_css.css :
h1 { 
    font-size: 120%; 
    font-family: Verdana, Arial, Helvetica, sans-serif; 
    color: red; 
   }


В консоли браузера : Failed to load resource: the server responded with a status of 404 (NOT FOUND)
В консоли системы :
[30/Jul/2015 15:11:11]"GET /time/ HTTP/1.1" 200 292
[30/Jul/2015 15:11:11]"GET /time/static/my_css.css HTTP/1.1" 404 2961
[30/Jul/2015 15:13:24]"GET /time/static/my_css.css HTTP/1.1" 404 2961
  • Вопрос задан
  • 8200 просмотров
Подписаться 3 Оценить 1 комментарий
Решения вопроса 1
для примера, код из settings.py, ниже на картике структура каталога и его расположение относительно корня проекта. скрипты и прочее складывайте в static_files
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static', 'static_root')
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static', 'static_files'),
)
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR,  'static', 'media')

в файле urls.py в конце пропишите
if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)


5070d953ed1d41f69562fc8fefaa61d3.png

в документации все это подробно описано.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
un1t
@un1t
Ну во-первых сравни
STATIC_URL = '/static/'
и
GET /time/static/my_css.css

Во-вторых разберсь с STATIC_ROOT и STATICFILES_DIRS
Ответ написан
zelsky
@zelsky
Слеш в html коде где ?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы