Панель администратора Django не загружает css/js на сервере digitalocean
Столкнулся с проблемой, когда на моем локалхосте все работает отлично с такой структурой: localhost. Но на сервере digitalocean я получил такую структуру: server. Обратите внимание, что на сервере у меня появилась дополнительная папка static с названием 'staticfiles'. На моем локалхосте все работает отлично, но на уровне сервера моя админ-панель не может найти нужные css/js, потому что ищет файлы внутри папки static. Вот мои файлы настроек:
`BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(file)))
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), ]`
Я использую не дроплеты, а платформу приложений. Есть идеи, как мне помочь?
Если ваша админ-панель Django не загружает CSS/JS файлы на вашем сервере DigitalOcean, использование WhiteNoise для обслуживания статических файлов может решить проблему.
1. Установите WhiteNoise:
pip install whitenoise
2. Обновление файла settings.py:
Измените ваш settings.py, чтобы включить WhiteNoise в MIDDLEWARE и настроить параметры статического файла:
# Static files (CSS, JavaScript, Images)
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
# WhiteNoise settings
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
# Other middleware
]
3. Сбор статических файлов:
Запустите команду управления collectstatic, чтобы собрать все статические файлы в каталог STATIC_ROOT:
python manage.py collectstatic
4. Запустите проект
python manage.py runserver