Server in Falkenstein · Support auf Deutsch · Rechnung mit Umsatzsteuer
Rechenhalle

Django hosten

Django läuft mit Gunicorn als Web-Prozess. Zu klären sind drei Dinge: Migrationen, statische Dateien und der Ort für hochgeladene Medien.

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("RECHENHALLE_DATEN", "/daten"), "media")

Häufige Fragen

Welche Datenbank kann ich nutzen?

Jede erreichbare PostgreSQL oder MySQL, angebunden über eine Umgebungsvariable. Eine verwaltete Datenbank bei uns ist in Vorbereitung.

Wie laufen regelmäßige Aufgaben?

Über zeitgesteuerte Aufgaben in der Console, etwa ein nächtliches Management-Kommando. Celery-Worker laufen als Prozess im Procfile.

Weiterlesen