Déployer une application Django sur Heroku peut sembler intimidant au premier abord. Dans ce guide complet, je vais vous montrer pas à pas comment déployer votre application Django et configurer votre base de données PostgreSQL sur Heroku.
🎯 Prérequis
Avant de commencer, assurez-vous d'avoir :
- Python 3.x installé
- Git installé
- Un compte Heroku
- Une application Django fonctionnelle en local
- Heroku CLI installé
📦 Préparation du Projet
1. Structure du Projet
Votre projet devrait ressembler à ceci :
my_project/
├── manage.py
├── my_project/
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── requirements.txt
└── Procfile
2. Configuration des Dépendances
Créez votre requirements.txt
:
pip freeze > requirements.txt
Ajoutez ces dépendances essentielles :
django
gunicorn
psycopg2-binary
django-environ
whitenoise
dj-database-url
3. Configuration de Django pour Heroku
Modifiez votre settings.py
:
import os
import dj_database_url
from pathlib import Path
BASE_DIR = Path(__file__).resolve().parent.parent
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = os.environ.get('SECRET_KEY', 'votre-clé-secrète-par-défaut')
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = os.environ.get('DEBUG', 'True') == 'True'
ALLOWED_HOSTS = os.environ.get('ALLOWED_HOSTS', '').split(',')
# Database
DATABASES = {
'default': dj_database_url.config(
default=os.environ.get('DATABASE_URL', 'sqlite:///db.sqlite3'),
conn_max_age=600
)
}
# Static files
STATIC_URL = '/static/'
STATIC_ROOT = BASE_DIR / 'staticfiles'
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
# Middleware
MIDDLEWARE = [
# ...
'whitenoise.middleware.WhiteNoiseMiddleware',
]
4. Création du Procfile
Créez un fichier Procfile
à la racine avec contenue :
web: gunicorn my_project.wsgi
🚀 Déploiement sur Heroku
1. Création de l'Application
heroku create mon-app-django
2. Configuration des Variables d'Environnement
heroku config:set SECRET_KEY='votre-clé-secrète'
heroku config:set DEBUG='False'
heroku config:set ALLOWED_HOSTS='.herokuapp.com'
3. Base de Données PostgreSQL
heroku addons:create heroku-postgresql:hobby-dev
4. Déploiement
git add .
git commit -m "Prêt pour le déploiement"
git push heroku main
📺 Vidéo Tutorial
Pour une démonstration en direct de ce processus, consultez ma vidéo YouTube :
🤝 Contribution
N'hésitez pas à contribuer à ce guide en ouvrant une PR sur Developpeurtaf.
💬 Discussion
Avez-vous des questions ? Des suggestions ? Laissez un commentaire ci-dessous !
Top comments (0)