Django

Settings & Produktionskonfiguration

Settings-Aufteilung (base/dev/prod), Secrets-Management, ALLOWED_HOSTS, CSRF_TRUSTED_ORIGINS, SECURE_*-Settings, .env/vault, Storage-Konfiguration

22 Interview-Fragen·
Senior
1

Welche Struktur wird empfohlen, um Django-Settings-Dateien in der Produktion zu organisieren?

Antwort

Die empfohlene Struktur besteht darin, ein settings-Package mit einer base.py-Datei für die gemeinsamen Konfigurationen zu erstellen und anschließend separate Dateien dev.py, staging.py und prod.py, die base.py importieren und erweitern. Dieser Ansatz ermöglicht es, die gemeinsame Konfiguration zu teilen und gleichzeitig spezifische Umgebungen anzupassen, was die Wartung erleichtert und Codeduplizierung reduziert.

2

Wie gibt man an, welche Settings-Datei beim Start eines Django-Projekts verwendet werden soll?

Antwort

Die Umgebungsvariable DJANGO_SETTINGS_MODULE gibt den Python-Pfad zum zu verwendenden Settings-Modul an. Zum Beispiel weist DJANGO_SETTINGS_MODULE=myproject.settings.prod Django an, die Datei prod.py aus dem settings-Package zu verwenden. Diese Variable kann in der Shell, in Serverkonfigurationsdateien oder in Deployment-Skripten gesetzt werden.

3

Welche Funktion hat das ALLOWED_HOSTS-Setting in Django?

Antwort

ALLOWED_HOSTS ist eine Liste von Domains/Hosts, die die Django-Anwendung ausliefern dürfen. Dieser Sicherheitsmechanismus schützt vor HTTP-Host-Header-Angriffen, indem er den Host-Header jeder Anfrage validiert. In der Produktion mit DEBUG=False ist dieses Setting verpflichtend und muss die legitimen Domains der Anwendung enthalten, um 400-Bad-Request-Fehler zu vermeiden.

4

Welcher ALLOWED_HOSTS-Wert akzeptiert jeden Host, und warum ist das in der Produktion gefährlich?

5

Wozu dient das in Django 4.0 eingeführte CSRF_TRUSTED_ORIGINS-Setting?

+19 Interview-Fragen

Meistere Django für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten