Un guide complet pour déployer votre application Django avec MySQL sur PythonAnywhere, étape par étape.
DjangoMySQLPythonAnywhere
Prérequis
- Un compte PythonAnywhere actif
- Un projet Django fonctionnel
- Git installé sur votre machine locale
- Votre code sur un dépôt GitHub
1
Console Bash
Accédez à la console Bash de PythonAnywhere et clonez votre dépôt:
git clone https://github.com/votre-repo
2
Environnement Virtuel
Créez et activez un environnement virtuel Python 3.10, Remplacez testenv par le nom de votre choix:
mkvirtualenv --python=/usr/bin/python3.10 testenv
workon testenv
3
Installation des Dépendances
Installez les packages nécessaires depuis requirements.txt.
pip install -r requirements.txt
4
Configuration Web
Dans l'interface de PythonAnywhere, accédez à l'onglet Web, créez une nouvelle application Web avec une configuration manuelle (assurez-vous de ne pas choisir l'option 'Django'), puis configurez les chemins comme suit :
# Source code: /home/username/project
# Working directory: /home/username/
# Virtual env: /home/username/.virtualenvs/testenv
# Configuration WSGI:
import os
import sys
from dotenv import load_dotenv
project_home = '/home/username/project'
# Charger les variables d'environnement depuis .env
load_dotenv(os.path.join(project_home, '.env'))
os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings'
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
5
Base de Données MySQL
La prochaine étape consiste à configurer votre base de données MySQL sur PythonAnywhere. Cliquez sur l'onglet 'Databases' et suivez les instructions pour créer une nouvelle base de données MySQL. Assurez-vous de noter les informations de connexion à la base de données (nom d'utilisateur, mot de passe, nom de la base de données, etc.). Maintenant, vous devez configurer votre projet Django pour qu'il utilise la base de données MySQL sur PythonAnywhere. Modifiez votre fichier **settings.py** pour qu'il utilise les informations de connexion à la base de données MySQL. Assurez-vous de spécifier le bon nom d'utilisateur, mot de passe, nom de la base de données et hôte.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'your_db_name',
'USER': 'your_username',
'PASSWORD': 'your_password',
'HOST': 'your_host',
'PORT': '3306',
}
}
6
Fichiers Statiques
Configurez les chemins des fichiers statiques:
# Dans settings.py
STATIC_URL = '/static/'
STATIC_ROOT = '/home/username/project/static'
MEDIA_URL = '/media/'
MEDIA_ROOT = '/home/username/project/media'
7
Déploiement
Exécutez les commandes de déploiement:
python manage.py makemigrations
python manage.py migrate
python manage.py collectstatic
Bonus - Commandes Utiles
Créer un superutilisateur
Créez un compte administrateur pour accéder à l'interface d'administration Django
python manage.py createsuperuser
Sauvegarder les données
Exportez toutes les données de votre base de données au format JSON
python -Xutf8 ./manage.py dumpdata > data.json
Restaurer les données
Importez les données depuis un fichier JSON dans votre base de données
python manage.py loaddata data.json
Commentaires (1)
Salut :)
Effectivement PythonAnywhere est vraiment top. Même si je préfère faire ça sur vps, j'ai pas mal utilisé anywhere. ça permet de se concentrer vraiment sur le code et de prendre moins de temps sur le côté mise en production
Oui effectivement @gabigab117 , moi aussi je déploie mes applications Django sur PythonAnywhere en ce moment, principalement pour tester mes apps et vérifier leur comportement en conditions réelles.
C’est une solution très pratique qui permet de se focaliser sur le code et de gagner du temps sur le déploiement.
Mais désormais, je déploie mes projets sur o2switch
, ce qui me donne plus de flexibilité et de contrôle sur la mise en production
Laissez un commentaire