Django

Settings & Productieconfiguratie

Settings-splitsing (base/dev/prod), secretsbeheer, ALLOWED_HOSTS, CSRF_TRUSTED_ORIGINS, SECURE_*-settings, .env/vault, storageconfiguratie

22 gespreksvragen·
Senior
1

Wat is de aanbevolen structuur voor het organiseren van Django settings-bestanden in productie?

Antwoord

De aanbevolen structuur bestaat uit het maken van een settings-package met een base.py-bestand dat de gemeenschappelijke configuraties bevat, en vervolgens afzonderlijke bestanden dev.py, staging.py en prod.py die base.py importeren en uitbreiden. Deze aanpak maakt het mogelijk om de gemeenschappelijke configuratie te delen en tegelijkertijd specifieke omgevingen aan te passen, wat het onderhoud vereenvoudigt en codeduplicatie vermindert.

2

Hoe geef je aan welk settings-bestand moet worden gebruikt bij het starten van een Django-project?

Antwoord

De omgevingsvariabele DJANGO_SETTINGS_MODULE specificeert het Python-pad naar de te gebruiken settings-module. Bijvoorbeeld DJANGO_SETTINGS_MODULE=myproject.settings.prod vertelt Django om het bestand prod.py uit het settings-package te gebruiken. Deze variabele kan worden ingesteld in de shell, in serverconfiguratiebestanden of in deploymentscripts.

3

Wat is de functie van de ALLOWED_HOSTS-setting in Django?

Antwoord

ALLOWED_HOSTS is een lijst van domeinen/hosts die de Django-applicatie mogen serveren. Dit beveiligingsmechanisme beschermt tegen HTTP-Host-header-aanvallen door de Host-header van elk verzoek te valideren. In productie met DEBUG=False is deze setting verplicht en moet deze de legitieme domeinen van de applicatie bevatten om 400 Bad Request-fouten te voorkomen.

4

Welke ALLOWED_HOSTS-waarde accepteert elke host, en waarom is dat gevaarlijk in productie?

5

Waarvoor dient de in Django 4.0 geïntroduceerde CSRF_TRUSTED_ORIGINS-setting?

+19 gespreksvragen

Beheers Django voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis