Variables d’environnement et séparation des paramètres
Séparez en toute sécurité la configuration de développement et de production.
Variables d’environnement et séparation des paramètres est une leçon Django Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Django Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Django Academy comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
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. 🎯
Questions Fréquemment Posées
La leçon « Variables d’environnement et séparation des paramètres » est-elle gratuite ?
Oui — le texte complet de « Variables d’environnement et séparation des paramètres » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Django Academy, passe à CoddyKit PRO. Le cours Django Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Variables d’environnement et séparation des paramètres » ?
Séparez en toute sécurité la configuration de développement et de production. Tu pratiques Django Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Django Academy ?
Aucune expérience préalable n'est requise. Django Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Variables d’environnement et séparation des paramètres » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Django Academy ?
Oui. Chaque leçon Django Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Gunicorn comme serveur WSGI
- Nginx comme proxy inverse
- WhiteNoise pour les fichiers statiques
- Variables d’environnement et séparation des paramètres