Django .gitignore Templates
Professional-grade .gitignore configurations for Django web applications. Prevent database files, media uploads, and sensitive configuration from entering version control.
Choose Your Django Configuration
Production Django
# Django Production .gitignore
# Database
*.db
*.sqlite3
db.sqlite3
/media
/staticfiles
# Django specific
*.log
local_settings.py
db.sqlite3-journal
# Security
.env
.env.local
.env.production
secret_key.txt
# Static files (collected)
/static/
/staticfiles/
# Media files
/media/
# Virtual environments
venv/
env/
ENV/
.venv/
# Cache
__pycache__/
*.py[cod]
*$py.class
# Django migrations (optional - team decision)
# */migrations/*.py
# */migrations/*.pyc
# Celery
celerybeat-schedule
celerybeat.pid
# Coverage reports
htmlcov/
.coverage
.coverage.*
Common Django .gitignore Problems
Database files committed to repository
Add *.sqlite3, *.db patterns
*.sqlite3
*.db
db.sqlite3
Media uploads in version control
Exclude media directory
/media/
/uploads/
Secret keys and environment files
Never commit sensitive configuration
.env
.env.local
local_settings.py
Static files and collected assets
Ignore collected static files
/staticfiles/
/static/collected/
Django .gitignore Best Practices
Database Files
Always exclude SQLite databases, but consider your production database strategy. For PostgreSQL/MySQL, exclude dump files and local connection configs.
*.sqlite3
db.sqlite3
*.sql
*.dump
Media and Static Files
Separate user uploads (/media/) from collected static files (/staticfiles/). Only commit source static files in your app directories.
/media/
/staticfiles/
!/static/src/
Environment Configuration
Use environment-specific .env files and local_settings.py for sensitive data. Provide .env.example with safe defaults.
.env
local_settings.py
!.env.example
Ready to Deploy Your Django Project?
Get your .gitignore configured correctly before your first commit. Clean repositories lead to smoother deployments and better team collaboration.