Столкнулся с чудесным в Django 3.2 ... Не отображается статика из некоторых каталогах внутри
static
в dev-режиме... Почти во всех, кроме
/static/admin/
. Ничего не понимаю. В
settings.py
все как обычно, одинаково с другими проектами, в которых все работает:
from my_project.my_secret import MY_MEDIA_ROOT_DEV1, MY_STATIC_ROOT_DEV1
MEDIA_ROOT = MY_MEDIA_ROOT_DEV1
STATIC_ROOT = MY_STATIC_ROOT_DEV1
STATIC_BASE_PATH = STATIC_ROOT
# STATICFILES_DIRS = [
# # MY_STATIC_ROOT_DEV1,
# # Put strings here, like "/home/html/static" or "C:/www/django/static".
# # Always use forward slashes, even on Windows.
# # Don't forget to use absolute paths, not relative paths.
# # BASE_DIR,
# MY_STATIC_ROOT_DEV1 + '/js',
# MY_STATIC_ROOT_DEV1 + '/img',
# MY_STATIC_ROOT_DEV1 + '/webfonts',
# MY_STATIC_ROOT_DEV1 + '/css',
# MY_STATIC_ROOT_DEV1 + '/svgs',
# ]
В
url.py
тоже как и в других проектах:
from django.contrib import admin
from django.urls import path
from django.conf.urls.static import static
from django.conf.urls import url
from my_project import settings
from web import views
urlpatterns = [
path('a-d-m-i-n/', admin.site.urls),
url(r'^$', views.index),
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
Когда делаешь
python manage.py collectstatic
вся статика, как и положено, собирается в каталог
static/admin и любой из этих файлов можно посмотреть. Типа:
127.0.0.1:8000/static/admin/css/base.css... но никаких файлы из других файлов не показываются!.. С ошибкой 404... И не важно, включён и присвоено что-то
STATICFILES_DIRS в
settings.py или нет... И есть или нет строчка
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) в
url.py... И, что особенно странно, если какой-либо файл положить в папку
static/admin или там
static/admin/js -- этот файл тоже НЕ ОТОБРАЖАЕТСЯ. Видит только файлы которые притащил
python manage.py collectstatic
... Что за магия такая?