@Baoo

Почему не подгружаются статические файлы в режиме разработки?

Если запускаю dev-контейнер с приложение Django, то не подгружаются статические файлы, хотя они точно есть в папке внутри контейнера.

# settings.py

DEBUG = True

STATIC_URL = 'static/'
STATIC_ROOT = BASE_DIR / 'static'


Если добавить
STATICFILES_DIRS = [
    BASE_DIR / 'static'
]

то будет ошибка из-за того, что STATIC_ROOT и STATICFILES_DIRS не могут совпадать.

Замена на DEBUG = False ничего не даёт.
Если запустить prod-версию с nginx и uwsgi, то всё работает на этих же настройках.
Прочитал, что нужно использовать две разные директории для статических файлов dev и prod, но подумал, что нелогично использовать 2 разные директории для одних и тех же файлов.
  • Вопрос задан
  • 34 просмотра
Пригласить эксперта
Ответы на вопрос 2
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
Почему не подгружаются статические файлы в режиме разработки?

Потому-что у джанги нужно отдельно обрабатывать пути до статики в dev-режиме
(вообще странно, что вы добрались до докера и прода, но не знаете про такие базовые вещи)
Ответ написан
Комментировать
@Baoo Автор вопроса
Я это уже сделал, но забыл упомянуть, сорри
К сожалению, это не решает проблему

# urls.py

from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.urls import path, include
from scripts import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.Index.as_view(), name='index'),
    path('<int:pk>/edit/', views.UpdateScript.as_view(), name='edit'),
    path('accounts/', include('django.contrib.auth.urls')),
]

if settings.DEBUG:
    urlpatterns += static(
        settings.STATIC_URL, document_root=settings.STATIC_ROOT
    )
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы