.env.development [ Best Pick ]
Create settings.py :
| File | Environment | Use case | | :--- | :--- | :--- | | .env.development | Dev server | Live coding, hot reload, local DB | | .env.test | CI/CD & local tests | Isolated runs, deterministic data | | .env.production | Live servers | Real secrets, scaled databases | .env.development
The root cause is often environmental mismatch. Create settings
import environ env = environ.Env() environ.Env.read_env(overwrite=True) if env('ENVIRONMENT') == 'development': DEBUG = True DATABASES['default'] = env.db('DEV_DATABASE_URL') .env.development
Here is the distinction:
ENVIRONMENT=development DEV_DATABASE_URL=sqlite:///db.sqlite3 SECRET_KEY=dev-key-not-for-production Many developers ask: "If I have .env.development , why do I also need .env.local ?"