Python Django не может заставить работать статические файлы
Я работаю над проектом pyhton django и сейчас я пытаюсь добавить некоторые стили к нему с помощью файла styles.css, но я просто не могу заставить его работать.
Мой проект называется commerce, а мое приложение называется auctions, и у меня есть статический файл в разделе commerce/auctions/static/auctions/styles.css
Мой файл settings.py include
INSTALLED_APPS = [
'auctions',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
STATIC_URL = '/static/'
My auctions/urls.py
from django.urls import path
from django.conf import settings
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from . import views
urlpatterns = [
path("", views.index, name="index"),
]
if settings.DEBUG:
urlpatterns += staticfiles_urlpatterns()
Мой файл styles.css
h1 {
color: red;
}
Затем в моем файле шаблона у меня есть следующее
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<title>{% block title %}Auctions{% endblock %}</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<link rel="stylesheet" href="{% static 'auctions/styles.css' %}">
</head>
<body>
<h1>Auctions</h1>
</body>
</html>
Такое ощущение, что я упускаю что-то очевидное.
вам нужно добавить это в ваш settings.py :
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static")
]
это должно решить проблему.
Отредактируйте ваш файл settings.py и добавьте WhiteNoise (проверьте здесь либу) в список MIDDLEWARE, выше всех других промежуточных программ, кроме Django's SecurityMiddleware:
MIDDLEWARE = [
# ...
"django.middleware.security.SecurityMiddleware",
"whitenoise.middleware.WhiteNoiseMiddleware",
# ...
]
Вы также должны добавить это в файл settings.py:
STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage"
Для получения более подробной информации ознакомьтесь с руководством Using WhiteNoise with Django>.