Django не может найти папку static(css)
Мой шаблон Django не может найти мой css файл в папке static, которая структурирована в корневом каталоге.
Вот мой settings.py
и мой urls.py
from django.contrib import admin
from django.urls import path
from django.urls.conf import include
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('maintenance/',include('maintenance.urls'))
]
if settings.DEBUG :
urlpatterns += static(settings.STATIC_URL,document_root =settings.STATIC_ROOT)
и мой шаблон (также настройки в корневом каталоге) :
{%load static %}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" type="text/css" href="{% static 'css/styles.css' %}" />
</head>
<body>
<div class='test'> turn this red </div
</body>
</html>
последний файл css (устанавливаем в корневом каталоге как static > css > styles.css)
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
.sidebar{
width: 70px;
background-color: #73879c;
}
.test{
color:red;
}
при выполнении запроса на получение я получаю следующее :
[15/Dec/2021 12:36:37] "GET /static/css/styles.css HTTP/1.1" 404 1902
Измените это в файле settings.py:
STATIC_ROOT = ["static_root"]
Для этого (конечно, если имя вашей папки static - "static"):
STATIC_ROOT = BASEDIR / "static"
В STATIC_ROOT вы должны установить: BASEDIR + имя папки, в которой находятся ваши статические файлы.
Вместо STATICFILES_DIR = [ BASE_DIR/'static']
Попробуйте использовать
STATICFILES_DIRS = [
os.path.join(BASE_DIR, '/static') ]