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_URL = 'media/'
|
||||||
|
|
||||||
# Пути для файлов (из переменных окружения)
|
# Пути для файлов (из переменных окружения)
|
||||||
MEDIA_ROOT = get_env('MEDIA_ROOT', str(BASE_DIR / 'public' / 'media'))
|
# BASE_DIR это директория rosmorport_tsts/, поэтому идём на уровень выше
|
||||||
SITEMAP_ROOT = get_env('SITEMAP_ROOT', str(BASE_DIR / 'public'))
|
PROJECT_ROOT = BASE_DIR.parent
|
||||||
TOUCH_RELOAD = get_env('TOUCH_RELOAD_PATH', str(BASE_DIR / 'logs' / 'touchreload.txt'))
|
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
|
# Статические файлы - разные конфигурации для DEBUG и PRODUCTION
|
||||||
if DEBUG:
|
if DEBUG:
|
||||||
# В режиме разработки Django сам будет раздавать статические файлы
|
# В режиме разработки Django сам будет раздавать статические файлы
|
||||||
# и не нужен STATIC_ROOT, но нужны STATICFILES_DIRS для поиска файлов
|
# и не нужен STATIC_ROOT, но нужны STATICFILES_DIRS для поиска файлов
|
||||||
STATICFILES_DIRS = [
|
STATICFILES_DIRS = [
|
||||||
BASE_DIR / 'public' / 'static',
|
PROJECT_ROOT / 'public' / 'static',
|
||||||
]
|
]
|
||||||
else:
|
else:
|
||||||
# В продакшене нужен STATIC_ROOT для collectstatic
|
# В продакшене нужен 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 = []
|
STATICFILES_DIRS = []
|
||||||
|
|
||||||
# Default primary key field type (Тип primary key в моделях)
|
# Default primary key field type (Тип primary key в моделях)
|
||||||
|
|||||||
@@ -40,4 +40,6 @@ urlpatterns = [
|
|||||||
# handler500 = 'web.views.handler500'
|
# handler500 = 'web.views.handler500'
|
||||||
|
|
||||||
if DEBUG:
|
if DEBUG:
|
||||||
urlpatterns += static(MEDIA_URL, document_root=MEDIA_ROOT)
|
# В режиме разработки раздаём статические файлы и медиа через 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