Procfile und Abhängigkeiten
# Procfile
web: python manage.py migrate --noinput && gunicorn projekt.wsgi --bind 0.0.0.0:$PORT --workers 2
# requirements.txt
django
gunicorn
whitenoise
psycopg[binary]Statische Dateien mit WhiteNoise
Ohne eigenen Webserver liefert WhiteNoise CSS und JavaScript direkt aus Django aus:
MIDDLEWARE = [
"django.middleware.security.SecurityMiddleware",
"whitenoise.middleware.WhiteNoiseMiddleware",
# …
]
STATIC_ROOT = BASE_DIR / "staticfiles"
Das Einsammeln gehört in den Build oder den Start: python manage.py collectstatic --noinput.
Hochgeladene Dateien
Uploads gehören in den dauerhaften Speicher, nicht ins Projektverzeichnis – das wird bei jedem Deployment ersetzt:
import os
MEDIA_ROOT = os.path.join(os.environ.get("BRANCHWAY_DATEN", "/daten"), "media")
Häufige Fragen
Welche Datenbank kann ich nutzen?
Verwaltete PostgreSQL, MySQL, MariaDB oder Redis per Klick – oder jede andere erreichbare Datenbank, angebunden über eine Umgebungsvariable.
Wie laufen regelmäßige Aufgaben?
Über zeitgesteuerte Aufgaben in der Console, etwa ein nächtliches Management-Kommando. Celery-Worker laufen als Prozess im Procfile.