Umgebungsvariablen und Aufteilung der Einstellungen
Entwicklungs- und Produktionskonfiguration sicher trennen
Umgebungsvariablen und Aufteilung der Einstellungen ist eine kostenlose Django Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Django Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Django Academy-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
One Settings File Is Risky
A single settings.py with DEBUG on and secrets hardcoded is fine locally but dangerous live. Production needs its own safe configuration. 🔒
Dev and Prod Differ
Local and live environments need different settings: debug, allowed hosts, databases, and email all change between the two.
Why Environment Variables
Secrets like passwords must never sit in code or git. Environment variables inject them at runtime, keeping them out of your repository.
Read with os.environ
Pull a value from the environment with os.environ. Use a fallback so missing local variables do not crash development.
import os
SECRET_KEY = os.environ.get('SECRET_KEY', 'dev-only')Load a .env File
Tools like python-dotenv load variables from a local .env file, so you do not export them by hand every session.
from dotenv import load_dotenv
load_dotenv()Never Commit .env
Add .env to your .gitignore. Committing it would leak every secret, defeating the entire reason for using environment variables.
.env
*.pycThe Settings Package
Split settings into a package: turn settings.py into a folder holding base, dev, and prod modules that share common config.
settings/
__init__.py
base.py
dev.py
prod.pyShare with base.py
Put everything common in base.py. The dev and prod files import from it, then override only what truly differs.
from .base import *
DEBUG = TrueLock Down prod.py
In prod.py keep DEBUG off and read SECRET_KEY plus ALLOWED_HOSTS from the environment, never from a literal in the file.
from .base import *
DEBUG = False
ALLOWED_HOSTS = os.environ['ALLOWED_HOSTS'].split(',')Pick the Module
Choose which settings load with the DJANGO_SETTINGS_MODULE variable. Dev points to settings.dev while the server points to settings.prod.
export DJANGO_SETTINGS_MODULE=myproject.settings.prodTyped Helpers Help
Libraries like django-environ parse env values into booleans, lists, and database URLs, so you avoid messy manual string conversions.
Quick Check
Where should your production SECRET_KEY come from?
Recap
You learned to split settings into base, dev, and prod, keep secrets in environment variables and .env, and select the module per environment. 🎯
Häufig gestellte Fragen
Ist die Lektion „Umgebungsvariablen und Aufteilung der Einstellungen“ kostenlos?
Ja — der vollständige Text von „Umgebungsvariablen und Aufteilung der Einstellungen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Django Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Django Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Umgebungsvariablen und Aufteilung der Einstellungen“?
Entwicklungs- und Produktionskonfiguration sicher trennen Du übst Django Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Django Academy zu starten?
Keine Vorkenntnisse erforderlich. Django Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Umgebungsvariablen und Aufteilung der Einstellungen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Django Academy-Lektion Code schreiben und ausführen?
Ja. Jede Django Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Gunicorn als WSGI-Server
- Nginx als Reverse Proxy
- WhiteNoise für statische Dateien
- Umgebungsvariablen und Aufteilung der Einstellungen