Konfigurator settings.py Django — wygeneruj plik konfiguracyjny
Generuj plik settings.py dla projektu Django z baza danych, cache, media, email i bezpieczenstwem. Bezpłatnie.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćKonfigurator settings.py Django – generowanie bezpiecznej konfiguracji projektu Django
Django to jeden z najbardziej zaawansowanych i najczęściej wybieranych frameworków webowych napisanych w języku Python. Zbudowany na filozofii "batteries-included", dostarcza deweloperom kompletny zestaw gotowych modułów (ORM, panel administratora, system uwierzytelniania, obsługa formularzy). Sercem każdego projektu Django jest plik settings.py, w którym zdefiniowane są wszystkie zmienne konfiguracyjne: połączenia z bazami danych, ustawienia bezpieczeństwa, rejestracja aplikacji, middleware oraz ścieżki plików statycznych i mediów. Błędy w pliku konfiguracyjnym mogą prowadzić do awarii aplikacji lub – co gorsza – krytycznych luk w zabezpieczeniach. Nasz darmowy konfigurator settings.py Django online pozwala na wizualne wyklikanie opcji i wygenerowanie gotowego, zoptymalizowanego i bezpiecznego pliku konfiguracyjnego.
Dzięki temu oszczędzasz czas na ręcznym wpisywaniu parametrów i zyskujesz pewność, że Twoja konfiguracja spełnia najlepsze praktyki rynkowe.
Kluczowe zmienne w pliku settings.py Django
Poniższa tabela przedstawia najważniejsze parametry konfiguracyjne projektu Django oraz ich znaczenie w środowisku produkcyjnym i deweloperskim:
| Nazwa zmiennej | Rola i przeznaczenie | Zalecana wartość deweloperska | Zalecana wartość produkcyjna |
|---|---|---|---|
| SECRET_KEY | Klucz kryptograficzny służący do podpisywania sesji, ciasteczek i tokenów CSRF. | Domyślny ciąg losowy. | Pobierany ze zmiennych środowiskowych (zabezpieczony!). |
| DEBUG | Tryb debugowania wyświetlający szczegółowe opisy błędów (Traceback). | True (ułatwia znajdowanie błędów). |
False (błędy nie mogą być widoczne dla użytkowników końcowych!). |
| ALLOWED_HOSTS | Lista adresów IP i domen, które mogą obsługiwać aplikację (ochrona przed atakami Host Header). | ['localhost', '127.0.0.1'] |
Lista konkretnych domen (np. ['twojadomena.pl', 'www.twojadomena.pl']). |
| DATABASES | Konfiguracja połączeń z bazami danych (np. PostgreSQL, MySQL, SQLite). | Domyślny SQLite (wbudowany plik lokalny). | PostgreSQL lub MySQL ze zmiennych środowiskowych. |
| SECURE_SSL_REDIRECT | Wymuszenie przekierowania wszystkich zapytań HTTP na bezpieczny protokół HTTPS. | False |
True (bezpieczny szyfrowany ruch). |
Bezpieczeństwo Django na produkcji – o czym musisz pamiętać?
Django posiada wbudowany zestaw narzędzi diagnostycznych (polecenie python manage.py check --deploy), który weryfikuje bezpieczeństwo konfiguracji. Poniżej przedstawiamy kluczowe kroki przed uruchomieniem projektu na serwerze:
- Ukryj SECRET_KEY: Nigdy nie umieszczaj klucza na GitHubie lub w innych repozytoriach w czystym tekście. Używaj bibliotek takich jak
python-dotenvlubdjango-environ, aby wczytywać klucz z pliku.envna serwerze. - Wyłącz DEBUG: Pozostawienie
DEBUG = Truena produkcji to krytyczna luka bezpieczeństwa. Użytkownik widzi wtedy pełną strukturę bazy danych, zmienne systemowe i fragmenty kodu źródłowego przy każdym błędzie. - Skonfiguruj Cookies: Włącz flagi bezpieczeństwa dla sesji i ciasteczek CSRF:
SESSION_COOKIE_SECURE = True CSRF_COOKIE_SECURE = True - Ustaw nagłówki HSTS: Włącz mechanizm HTTP Strict Transport Security, aby przeglądarki komunikowały się z Twoją domeną wyłącznie przez HTTPS:
SECURE_HSTS_SECONDS = 31536000 SECURE_HSTS_INCLUDE_SUBDOMAINS = True
Jak korzystać z konfiguratora settings.py?
Generowanie pliku za pomocą naszego narzędzia jest proste i szybkie:
- Wypełnij podstawowe dane projektu: Nazwę projektu, strefę czasową (np. Europe/Warsaw) i język (np. pl).
- Wybierz rodzaj bazy danych (SQLite, PostgreSQL, MySQL) i wprowadź dane dostępowe.
- Zaznacz opcje bezpieczeństwa produkcyjnego (HTTPS, HSTS, secure cookies).
- Kliknij przycisk „Generuj settings.py”, skopiuj kod i wklej go do swojego projektu w pliku konfiguracyjnym.
Często zadawane pytania (FAQ)
Co to jest middleware w Django i jak go skonfigurować w settings.py?
Middleware to lekki framework wtyczek przetwarzający żądania (requests) i odpowiedzi (responses) przechodzące przez Django. Odpowiada m.in. za autoryzację sesji, zabezpieczenia CSRF, nagłówki bezpieczeństwa czy kompresję Gzip. W tablicy MIDDLEWARE kolejność ma kluczowe znaczenie, ponieważ żądania przechodzą od góry do dołu, a odpowiedzi wracają od dołu do góry.
Jak skonfigurować obsługę plików statycznych (CSS, JS) na produkcji?
Na produkcji Django nie obsługuje plików statycznych ze względów wydajnościowych. W pliku settings.py musisz zdefiniować STATIC_URL, STATIC_ROOT (katalog docelowy) oraz uruchomić polecenie python manage.py collectstatic. Następnie serwer Nginx lub Apache (bądź usługa typu WhiteNoise) powinien serwować te pliki bezpośrednio z dysku.
Jak skonfigurować połączenie z PostgreSQL w settings.py?
Aby użyć bazy PostgreSQL, musisz zainstalować sterownik psycopg2 i zmienić konfigurację DATABASES: silnik (ENGINE) na django.db.backends.postgresql, podać nazwę bazy (NAME), użytkownika (USER), hasło (PASSWORD), hosta (HOST) oraz port (PORT - domyślnie 5432).
Co to jest INSTALLED_APPS i czy kolejność ma znaczenie?
INSTALLED_APPS to lista aplikacji włączonych w projekcie Django (zarówno wbudowanych aplikacji systemowych, jak i Twoich własnych modułów oraz pakietów zewnętrznych). Kolejność ma znaczenie, jeśli aplikacje nadpisują te same szablony (templates) lub pliki statyczne – Django przeszukuje aplikacje w kolejności ich występowania w tablicy.
Jak zdefiniować zmienną BASE_DIR?
Zmienna BASE_DIR wskazuje na główny katalog projektu na dysku. W nowszych wersjach Django (od wersji 3) jest definiowana za pomocą modułu pathlib: BASE_DIR = Path(__file__).resolve().parent.parent. Pozwala to na tworzenie ścieżek bezwzględnych do baz danych, szablonów czy plików statycznych niezależnie od tego, gdzie projekt zostanie uruchomiony.