
Settings i konfiguracja produkcyjna
Podział settings (base/dev/prod), zarządzanie sekretami, ALLOWED_HOSTS, CSRF_TRUSTED_ORIGINS, settings SECURE_*, .env/vault, konfiguracja storage
1Jaka jest zalecana struktura organizacji plików settings projektu Django na produkcji?
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.
2Jak określić, który plik settings ma być użyty podczas uruchamiania projektu Django?
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.
3Jaką funkcję pełni setting ALLOWED_HOSTS w Django?
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.
Jaka wartość ALLOWED_HOSTS akceptuje dowolny host i dlaczego jest to niebezpieczne na produkcji?
Do czego służy setting CSRF_TRUSTED_ORIGINS wprowadzony w Django 4.0?
+19 pytań z rozmów
Inne tematy rekrutacyjne Django
Podstawy Pythona
Python obiektowy
Podstawy Django
Models Django - Podstawy
Widoki Django
Szablony Django
Formularze Django
Zaawansowane QuerySets
Uwierzytelnianie w Django
Middleware Django
Django Admin
Django REST Framework
Sygnały Django
Przesyłanie plików
Buforowanie w Django
Sesje Django
Email w Django
Testowanie w Django
Bezpieczeństwo Django
Wdrażanie Django
Zaawansowany Django ORM
Wydajność Django
Django & Celery
Django Channels
Django & GraphQL
Django & Docker
Django w ekosystemie mikroserwisów
Niestandardowe komendy Django
Internacjonalizacja w Django
Wzorce projektowe w Django
Django Async i ASGI
Observability i monitoring
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