У меня есть клонированный проект, и мне нужно обслуживать файлы * stati c самим Django. Я впервые использую файлы stati c таким способом (в прошлом я использовал Nginx / Apache для обслуживания файлов мультимедиа и stati c). Вот моя попытка подать * * * * * * * * * * * * * * * * * * * * * * * * * * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * '' '' * '*' '
...
STATIC_URL = '/static/'
STATIC_ROOT = os.environ.get('DH_STATIC_ROOT_DIR', os.path.join(BASE_DIR, 'static/'))
. Дерево каталогов проекта:
├── my_project
│ ├── DH
│ ├── env
│ ├── apps
│ ├── manage.py
│ ├── README.md
│ ├── requirements.txt
│ ├── static
│ └── templates
3 - работает ./manage.py collectstatic
и работает хорошо. вот дерево каталога static/
после этой команды (из некоторого прошлого файла stati c существует в каталоге stati c, потому что этот проект является MVT и загружает шаблоны):
├── admin
├── css
├── fonts
├── js
├── media
└── plugins
4- let Django Служите stati c в производстве (в urls.py
):
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('', index, name='index'),
path('admin/', admin.site.urls)
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
5 - как html
шаблоны ссылок на файлы stati c:
{% load static %}
...
<link href="{% static 'plugins/global/plugins.bundle.css' %}" rel="stylesheet" type="text/css" />
Например , в Chrome (осмотреть) я вижу запрос страницы шаблона к http://127.0.0.1:8000/static/media/logos/logo-6.png
, что static/media/logos/logo-6.png
существует (все запросы к файлам * * * * * * *) 404 кода статуса HTTP 404). с этой конфигурацией не работает даже в DEBUG=True
что я делаю не так? Заранее спасибо.