Как я могу добавить статические файлы (css) в веб-проект django
Я пробовал внедрить стиль css в html шаблон, но он не загружает файлы css, моя конфигурация выглядит следующим образом, не могли бы вы помочь?
checkstatic\showstatic\templates\index.html
<!DOCTYPE html>
<meta charset="UTF-8">
<html lang="en">
<head>
{% load static%}
<link rel="stylesheet" type="text/css" href="{% static 'css/mystyle.css' %}">
</head>
<body>
<img src="{% static 'logo1.png' height="200" width="200" class="d-inline-block align-top" %}" alt="">
<h1 class="test">hahahaha</h1>
</body>
</html>
checkstatic\static\css\mystyle.css
.test{
color: red;
}
мои настройки:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'showstatic'
]
...
STATIC_URL = 'static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'checkstatic/static/')
]
когда я захожу на сайт index, он применяет только тег h1, он не может загрузить красный цвет в качестве конфигурации css.
Статики используются для получения и использования полных файлов (css, изображения, js и т.д.), на вашем изображении это должно быть:
<img src="{% static 'logo1.png' %}" height="200" width="200" class="d-inline-block align-top" alt="">
Оставляем свойства img за пределами статического блока.
сначала необходимо создать каталог=> static* после чего добавить базовый каталог в настройках:
STATICFILES_DIRS = [
BASE_DIR / 'directory_name'] // typically the name is: static_root
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR , 'media')
then: insert urls in main project
from django.conf import settings
from django.conf.urls.static import static
+static(settings.MEDIA_URL, document_root= settings.MEDIA_ROOT)
!!!внимание!!! ==> вы должны вставить {%load static %} над каждой из html страниц если вы хотите узнать больше, перейдите по ссылке https://docs.djangoproject.com/en/4.0/howto/static-files/