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)