Variabel Lingkungan dan Pemisahan Pengaturan
Pisahkan konfigurasi pengembangan dan produksi dengan aman
Variabel Lingkungan dan Pemisahan Pengaturan adalah pelajaran Django Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Django Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Django Academy mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
One Settings File Is Risky
A single settings.py with DEBUG on and secrets hardcoded is fine locally but dangerous live. Production needs its own safe configuration. 🔒
Dev and Prod Differ
Local and live environments need different settings: debug, allowed hosts, databases, and email all change between the two.
Why Environment Variables
Secrets like passwords must never sit in code or git. Environment variables inject them at runtime, keeping them out of your repository.
Read with os.environ
Pull a value from the environment with os.environ. Use a fallback so missing local variables do not crash development.
import os
SECRET_KEY = os.environ.get('SECRET_KEY', 'dev-only')Load a .env File
Tools like python-dotenv load variables from a local .env file, so you do not export them by hand every session.
from dotenv import load_dotenv
load_dotenv()Never Commit .env
Add .env to your .gitignore. Committing it would leak every secret, defeating the entire reason for using environment variables.
.env
*.pycThe Settings Package
Split settings into a package: turn settings.py into a folder holding base, dev, and prod modules that share common config.
settings/
__init__.py
base.py
dev.py
prod.pyShare with base.py
Put everything common in base.py. The dev and prod files import from it, then override only what truly differs.
from .base import *
DEBUG = TrueLock Down prod.py
In prod.py keep DEBUG off and read SECRET_KEY plus ALLOWED_HOSTS from the environment, never from a literal in the file.
from .base import *
DEBUG = False
ALLOWED_HOSTS = os.environ['ALLOWED_HOSTS'].split(',')Pick the Module
Choose which settings load with the DJANGO_SETTINGS_MODULE variable. Dev points to settings.dev while the server points to settings.prod.
export DJANGO_SETTINGS_MODULE=myproject.settings.prodTyped Helpers Help
Libraries like django-environ parse env values into booleans, lists, and database URLs, so you avoid messy manual string conversions.
Quick Check
Where should your production SECRET_KEY come from?
Recap
You learned to split settings into base, dev, and prod, keep secrets in environment variables and .env, and select the module per environment. 🎯
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Variabel Lingkungan dan Pemisahan Pengaturan” gratis?
Ya — teks lengkap “Variabel Lingkungan dan Pemisahan Pengaturan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Django Academy, upgrade ke CoddyKit PRO. Kursus Django Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Variabel Lingkungan dan Pemisahan Pengaturan”?
Pisahkan konfigurasi pengembangan dan produksi dengan aman Kamu berlatih Django Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Django Academy?
Tidak diperlukan pengalaman sebelumnya. Django Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Variabel Lingkungan dan Pemisahan Pengaturan” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Django Academy ini?
Ya. Setiap pelajaran Django Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Gunicorn sebagai Server WSGI
- Nginx sebagai Proksi Terbalik
- WhiteNoise untuk Berkas Statis
- Variabel Lingkungan dan Pemisahan Pengaturan