Django

Settings & Üretim Yapılandırması

Settings ayrımı (base/dev/prod), secret yönetimi, ALLOWED_HOSTS, CSRF_TRUSTED_ORIGINS, SECURE_* settings, .env/vault, storage yapılandırması

22 mülakat soruları·
Senior
1

Üretimde Django settings dosyalarını düzenlemek için önerilen yapı nedir?

Cevap

Önerilen yapı, ortak yapılandırmaları içeren bir base.py dosyasına sahip bir settings paketi oluşturmak, ardından base.py'yi içe aktarıp genişleten ayrı dev.py, staging.py ve prod.py dosyaları kullanmaktır. Bu yaklaşım, ortak yapılandırmayı paylaşırken belirli ortamları özelleştirmeye olanak tanır, bakımı kolaylaştırır ve kod tekrarını azaltır.

2

Bir Django projesi başlatılırken hangi settings dosyasının kullanılacağı nasıl belirtilir?

Cevap

DJANGO_SETTINGS_MODULE ortam değişkeni, kullanılacak settings modülüne giden Python yolunu belirtir. Örneğin, DJANGO_SETTINGS_MODULE=myproject.settings.prod, Django'ya settings paketindeki prod.py dosyasını kullanmasını söyler. Bu değişken shell'de, sunucu yapılandırma dosyalarında veya dağıtım scriptlerinde ayarlanabilir.

3

Django'da ALLOWED_HOSTS setting'inin işlevi nedir?

Cevap

ALLOWED_HOSTS, Django uygulamasını sunmasına izin verilen domainlerin/host'ların bir listesidir. Bu güvenlik mekanizması, her isteğin Host header'ını doğrulayarak HTTP Host header saldırılarına karşı koruma sağlar. DEBUG=False ile üretimde bu setting zorunludur ve 400 Bad Request hatalarını önlemek için uygulamanın meşru domainlerini içermelidir.

4

Hangi ALLOWED_HOSTS değeri herhangi bir host'u kabul eder ve bu üretimde neden tehlikelidir?

5

Django 4.0'da tanıtılan CSRF_TRUSTED_ORIGINS setting'i ne işe yarar?

+19 mülakat soruları

Bir sonraki mülakatın için Django'de uzmanlaş

Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.

Ücretsiz başla