Django статические файлы Dokku
Я столкнулся с проблемой при работе с Django и Whitenoise, когда мои статические файлы не обслуживаются корректно, что приводит к 404 ошибкам и ошибкам проверки MIME.
Я настроил свой файл config/settings.py
с необходимыми параметрами для статических файлов и промежуточного ПО Whitenoise:
INSTALLED_APPS = [
# some apps
'django.contrib.staticfiles',
# my apps
]
MIDDLEWARE = [
# some middleware
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
]
STATIC_URL = '/static/'
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
STORAGES = {
"staticfiles": {
"BACKEND": "whitenoise.storage.CompressedManifestStaticFilesStorage",
},
}
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
Однако, когда я пытаюсь получить доступ к статическим файлам, таким как http://example.com/static/css/style.css и http://example.com/static/js/script.js, я получаю 404 ошибку, а в консоли браузера отображаются ошибки типа MIME:
Refused to apply style from 'http://example.com/static/css/style.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
Refused to execute script from 'http://example.com/static/js/script.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
В журналах указано, что файлы не найдены:
Not Found: /static/css/style.css
Not Found: /static/js/script.js