Python Django Static не отображается
Я пробовал много решений, доступных в stock overflow, но ни одно из них не решило моих проблем. Django - мой самый первый фреймворк сразу после изучения HTML, CSS, python (основы). Я не знаю, что я делаю неправильно, пожалуйста, помогите мне исправить это, вот мой код Вот моя структура папок:
[структура папки][1]
Вот мои настройки, URL, HTML код
STATICFILES_DIR=[
os.path.join(BASE_DIR,"static")
#BASE_DIR/'static'
]
from django.urls import path
from . import views
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns=[
path('', views.home, name='home'),
path('customer',views.customer,name='customer'),
path('products',views.products,name='products')
]
urlpatterns += staticfiles_urlpatterns()
{% load static %}
<!DOCTYPE HTML>
<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">
<title>Dash Board</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<link type="text/css" rel="stylesheet" href="{% static 'css/main.css' %}">
</head>
<body>
{% include "navbar.html" %}
{% block content%}
{% endblock %}
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.10.2/dist/umd/popper.min.js" integrity="sha384-7+zCNj/IqJ95wo16oMtfsKbZ9ccEh31eOz1HGyDuCQ6wgnyJNSYdrPa03rtR1zdB" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.min.js" integrity="sha384-QJHtvGhmr9XOIpI6YVutG+2QOK9T+ZnN4kzFN1RtK3zEFEIsxhlmWl5/YESvpZ13" crossorigin="anonymous"></script>
</body>
</html>```
[1]: https://i.stack.imgur.com/65Z9x.png
Ваши статические папки должны находиться в папке app, а не в общей папке templates, тогда Django не сможет их найти. В процессе разработки Django будет искать каждое приложение для его статических файлов.
Я бы также рекомендовал группировать шаблоны в самом приложении, это облегчает работу с ними в дальнейшем, когда их становится много.
При развертывании вы можете запустить python manage.py collectstatic
, чтобы собрать их по определенному пути из settings.py
.
Пример структуры:
.
├── ...
├── crml
│ ├── templates
│ ├── static # here
│ ├── urls.py
│ └── views.py
└── ...