Ich führe eine Django -Anwendung in einem Kubernetes -Pod mit Gunicorn aus, und meine statischen Dateien (Admin -Panel CSS/JS) laden nicht, wenn debug = false. Wenn ich jedoch Debug = False festlegt, geben meine statischen Dateien 404 zurück.
Code: Select all
GET /static/admin/css/base.efb520c4bb7c.css HTTP/1.1" 404 179
GET /static/admin/js/nav_sidebar.7605597ddf52.js HTTP/1.1" 404 179
< /code>
Relevante Django -Einstellungen (Einstellungen.Py) < /p>
DEBUG = False
INSTALLED_APPS = [
"django.contrib.staticfiles",
# Other apps...
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
# Other middleware...
]
BASE_DIR = Path(__file__).resolve().parent.parent
STATIC_URL = '/static/'
STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage"
STATICFILES_DIRS = [
BASE_DIR / 'static',
]
STATIC_ROOT = BASE_DIR / 'staticfiles'
< /code>
Wie ich meine App (Docker -Eintragspunkt) ausführe < /p>
#!/bin/sh
APP_PORT=${PORT:-8000}
echo "Migrating database..."
/opt/venv/bin/python manage.py migrate --noinput
echo "Collecting static files..."
/opt/venv/bin/python manage.py collectstatic --noinput
echo "Static files collected"
echo "Starting server..."
/opt/venv/bin/gunicorn secureuri.wsgi:application --bind "0.0.0.0:${APP_PORT}" --workers 1 --access-logfile - --error-logfile - --log-level debug
[*] Überprüft, dass CollectStatic ausgeführt wird. Debug = false < /p>
< /li>
Python verwalten.py RunServer -iscure funktioniert nicht. Dateien. < /p>
< /li>
Versucht, Whitenoise
< /li>
< /ul>
INSTALLED_APPS = [
"whitenoise.runserver_nostatic",
"django.contrib.staticfiles",
]
MIDDLEWARE = [
"whitenoise.middleware.WhiteNoiseMiddleware",
]
< /code>
startete den Pod neu, aber statische Dateien geben immer noch 404 zurück. /> Fehlt mir etwas in meinem Gunicorn/Kubernetes -Setup?