Django

Settings i konfiguracja produkcyjna

Podział settings (base/dev/prod), zarządzanie sekretami, ALLOWED_HOSTS, CSRF_TRUSTED_ORIGINS, settings SECURE_*, .env/vault, konfiguracja storage

22 pytań z rozmów·
Senior
1

Jaka jest zalecana struktura organizacji plików settings projektu Django na produkcji?

Odpowiedź

Zalecana struktura polega na utworzeniu pakietu settings z plikiem base.py zawierającym wspólne konfiguracje, a następnie osobnych plików dev.py, staging.py i prod.py, które importują i rozszerzają base.py. Takie podejście pozwala współdzielić wspólną konfigurację, jednocześnie dostosowując konkretne środowiska, co ułatwia utrzymanie i ogranicza duplikację kodu.

2

Jak określić, który plik settings ma być użyty podczas uruchamiania projektu Django?

Odpowiedź

Zmienna środowiskowa DJANGO_SETTINGS_MODULE pozwala określić ścieżkę Python do używanego modułu settings. Na przykład DJANGO_SETTINGS_MODULE=myproject.settings.prod mówi Django, aby użył pliku prod.py z pakietu settings. Tę zmienną można ustawić w powłoce, w plikach konfiguracyjnych serwera lub w skryptach wdrożeniowych.

3

Jaką funkcję pełni setting ALLOWED_HOSTS w Django?

Odpowiedź

ALLOWED_HOSTS to lista domen/hostów uprawnionych do obsługi aplikacji Django. Ten mechanizm bezpieczeństwa chroni przed atakami HTTP Host header, weryfikując nagłówek Host każdego żądania. W środowisku produkcyjnym z DEBUG=False ten setting jest obowiązkowy i musi zawierać prawidłowe domeny aplikacji, aby uniknąć błędów 400 Bad Request.

4

Jaka wartość ALLOWED_HOSTS akceptuje dowolny host i dlaczego jest to niebezpieczne na produkcji?

5

Do czego służy setting CSRF_TRUSTED_ORIGINS wprowadzony w Django 4.0?

+19 pytań z rozmów

Opanuj Django na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo