Django: html ссылается на неправильный каталог для css
Вот моя главная страница, localhost:8000/helloworld/greeter в helloworld\templates\hello:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Hello!</title>
{% load static%}
<link rel="stylesheet" type = "text/css" href = "{% static 'hello/site.css' %}" />
</head>
<body>
<span class="message">Hello there, {{ name }}!</span> It's {{ date | date:'l, d F, Y' }} at {{ date | time:'H:i:s' }}.
</body>
</html>
и вот CSS файл в helloworld\static\hello (так что он должен искать localhost:8000\helloworld\static\hello\site.css):
.message{
font-weight
color: blue;
}
Ожидается, что фраза "Hello there, [name]" будет выделена жирным шрифтом и синим цветом, но вот что на самом деле выдает код: (в этом и заключается проблема)
А просмотр в консоли дает такую ошибку:
GET http://localhost:8000/static/hello/site.css net::ERR_ABORTED 404 (Not Found)
Заметьте, как он думает, что "static" находится в корневом каталоге, в то время как он находится в localhost\helloworld.
Я хотел бы найти решение этой проблемы и изменить его так, чтобы он ссылался на правильный каталог
Я попытался изменить блок, а именно:
<link rel="stylesheet" type = "text/css" href = "{% static 'hello/site.css' %}" />
to:
<link rel="stylesheet" type = "text/css" href = "{% 'helloworld/static/hello/site.css' %}" />
Я ожидал, что он применит site.css, но он не применил и выдал TemplateSyntaxError.
Проблема решается следующим образом:
В файле settings.py я изменил строку на STATIC_URL = '/helloworld/static/'