Variáveis de ambiente e divisão das configurações
Separe com segurança as configurações de desenvolvimento e produção
Variáveis de ambiente e divisão das configurações é uma aula grátis de Django Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Django Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Django Academy inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
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. 🎯
Perguntas Frequentes
A aula “Variáveis de ambiente e divisão das configurações” é grátis?
Sim — o texto completo de “Variáveis de ambiente e divisão das configurações” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Django Academy, atualize para CoddyKit PRO. O curso de Django Academy inclui 4 aulas no total.
O que vou aprender em “Variáveis de ambiente e divisão das configurações”?
Separe com segurança as configurações de desenvolvimento e produção Você pratica Django Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Django Academy?
Nenhuma experiência prévia é necessária. Django Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Variáveis de ambiente e divisão das configurações”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Django Academy?
Sim. Cada aula de Django Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Gunicorn como servidor WSGI
- Nginx como proxy reverso
- WhiteNoise para arquivos estáticos
- Variáveis de ambiente e divisão das configurações