fix: Исправлена раздача статических файлов в DEV режиме
- Исправлены пути STATICFILES_DIRS и MEDIA_ROOT (они должны быть относительно корня проекта, а не settings.py) - Добавлена раздача STATIC_URL в urls.py для DEBUG режима - Проверено что все статические файлы (CSS, JS) отдаются с кодом 200 Использование: - Media: ❌ Не используется (нет FileField/ImageField в моделях) - Static: ✅ Используется (CSS, JS, images в public/static) Статика теперь корректно работает в dev окружении.
This commit is contained in:
@@ -182,20 +182,22 @@ STATIC_URL = 'static/'
|
||||
MEDIA_URL = 'media/'
|
||||
|
||||
# Пути для файлов (из переменных окружения)
|
||||
MEDIA_ROOT = get_env('MEDIA_ROOT', str(BASE_DIR / 'public' / 'media'))
|
||||
SITEMAP_ROOT = get_env('SITEMAP_ROOT', str(BASE_DIR / 'public'))
|
||||
TOUCH_RELOAD = get_env('TOUCH_RELOAD_PATH', str(BASE_DIR / 'logs' / 'touchreload.txt'))
|
||||
# BASE_DIR это директория rosmorport_tsts/, поэтому идём на уровень выше
|
||||
PROJECT_ROOT = BASE_DIR.parent
|
||||
MEDIA_ROOT = get_env('MEDIA_ROOT', str(PROJECT_ROOT / 'public' / 'media'))
|
||||
SITEMAP_ROOT = get_env('SITEMAP_ROOT', str(PROJECT_ROOT / 'public'))
|
||||
TOUCH_RELOAD = get_env('TOUCH_RELOAD_PATH', str(PROJECT_ROOT / 'logs' / 'touchreload.txt'))
|
||||
|
||||
# Статические файлы - разные конфигурации для DEBUG и PRODUCTION
|
||||
if DEBUG:
|
||||
# В режиме разработки Django сам будет раздавать статические файлы
|
||||
# и не нужен STATIC_ROOT, но нужны STATICFILES_DIRS для поиска файлов
|
||||
STATICFILES_DIRS = [
|
||||
BASE_DIR / 'public' / 'static',
|
||||
PROJECT_ROOT / 'public' / 'static',
|
||||
]
|
||||
else:
|
||||
# В продакшене нужен STATIC_ROOT для collectstatic
|
||||
STATIC_ROOT = get_env('STATIC_ROOT', str(BASE_DIR / 'public' / 'static'))
|
||||
STATIC_ROOT = get_env('STATIC_ROOT', str(PROJECT_ROOT / 'public' / 'static'))
|
||||
STATICFILES_DIRS = []
|
||||
|
||||
# Default primary key field type (Тип primary key в моделях)
|
||||
|
||||
@@ -40,4 +40,6 @@ urlpatterns = [
|
||||
# handler500 = 'web.views.handler500'
|
||||
|
||||
if DEBUG:
|
||||
# В режиме разработки раздаём статические файлы и медиа через Django
|
||||
urlpatterns += static(MEDIA_URL, document_root=MEDIA_ROOT)
|
||||
urlpatterns += static(STATIC_URL, document_root=STATICFILES_DIRS[0] if STATICFILES_DIRS else str(MEDIA_ROOT.parent / 'static'))
|
||||
|
||||
Reference in New Issue
Block a user