CSS не соединяется с HTML (Django)
Ни один из моих статических css-файлов не подключается к html. Однако все статические изображения работают правильно.
settings.py
DEBUG = True
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'main'
]
import os
STATIC_DIR = os.path.join(BASE_DIR,"static")
STATIC_URL = '/static/'
STATICFILES_DIRS = [
STATIC_DIR,
]
base.html (родительский)
<!DOCTYPE html>
{% load static %}
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" type="image/png" href="{% static 'img/favico.png' %}">
<title>{% block title %}{% endblock %}</title>
<link rel = 'stylesheet' href = 'https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css'>
<link rel = 'stylesheey' href = "https://use.fontawesome.com/releases/v5.8.2/css/all.css">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
<link href="/docs/5.1/dist/css/bootstrap.min.css?v=513" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<link rel = 'stylesheet' href = "{% static 'css/main.css' %}">
</head>
index.html
{% extends 'main/base.html' %}
{% load static %}
<head>
{% block title %}
{{title}}
{% endblock %}
<link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}">
</head>
{% block content %}
<main>
<h1>GHBDTN</h1>
<body>
<div class="grid-wrapper">
<header class="grid-header">
<img class="circles" src="{% static "main/img/main8.jpg" %}" alt="main pic">
<p>Предоставим качественное образование, <br>
поможем понять школьную программу, <br>
улучшить оценки и <br>
подготовиться к экзаменам</p>
</header>
</div>
</body>
</main>
{% endblock %}
style.css (относится к index.html)
.grid-wrapper {
display: grid;
grid-template-columns: 1 fr;
grid-template-rows: 1 fr;
grid-template-areas: 'header header';
}
.circles {
display: block;
margin-left: auto;
margin-right: auto;
}
header {
position: relative;
width: 100%;
}
p {
color: red;
text-align: center;
position: absolute;
width: 100%;
text-align: center;
top: 0;
}
main.css (относится к base.html)
nav {
font-family: Montserrat;
font-size: 20px;
}
nav a:hover {
color: red;
transition: all .6s ease;
transform: scale(1.10);
}
Я изменил BASE_DIR на документацию, но это ничего не изменило. Все html отображаются. Я создал html-файл с css без django работает правильно
Структура моего проекта выглядит следующим образом:
/project
//taskmanager
///main
////static
/////css
//////main.css and style.css
////templates
/////main
//////base.html
//////index.html
Сделайте вот так
base.html
<!DOCTYPE html>
{% load static %}
<html lang="en">
<head>
<!--- Add all your meta tags css files --->
<title>{% block title %}{% endblock %}</title>
{% block extra_head_links %}
{% endblock %}
</head>
<body>
{% block content %}{% endblock %}
</body>
</html>
внутри вашего index.html
{% extends 'main/base.html' %}
{% load static %}
{% block title %}
{{title}}
{% endblock %}
{% block extra_head_links %}
<link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}">
{% endblock %}
{% block content %}
<main>
<h1>GHBDTN</h1>
<body>
<div class="grid-wrapper">
<header class="grid-header">
<img class="circles" src="{% static "main/img/main8.jpg" %}" alt="main pic">
<p>Предоставим качественное образование, <br>
поможем понять школьную программу, <br>
улучшить оценки и <br>
подготовиться к экзаменам</p>
</header>
</div>
</body>
</main>
{% endblock %}
приведенный выше код расширит все ваши css из base.html и добавит дополнительную ссылку css на index.html