Si vous avez créé un portefeuille ou un prototype d'application avec Django, l'héberger gratuitement sur Vercel n'est qu'à quelques clics et un petit morceau de code. Heroku était autrefois une bouée de sauvetage, mais il a cessé d'offrir un hébergement gratuit en 2022.
En utilisant Vercel, vous pouvez déployer gratuitement votre application directement depuis GitHub, et tout le monde peut y accéder de n'importe où. Voici comment procéder.
Configurez votre application Django pour Vercel
Vous devrez configurer quelques aspects de votre projet Django avant de pouvoir le déployer sur Vercel.
Configurer le fichier vercel.json
Tout d'abord, vous devez créer un fichier vercel.json dans le dossier racine de votre projet pour pointer Vercel vers l'interface de passerelle du serveur Web (WSGI) de votre application :
{
"construit": [
{
"src": "django_app_name/wsgi.py",
"use": "@vercel/python"
}
],
"itinéraires": [
{
"source": "/(.*)",
"dest": "django_app_name/wsgi.py"
}
]
}
Remplacer django_app_name avec le nom de votre application Django (le même que le dossier qui contient le paramètres.py déposer).
Refactoriser le fichier wsgi.py
Vercel ne reconnaît pas le application variable dans le fichier wsgi.py. Heureusement, le seul changement que vous ferez pour résoudre ce problème est de passer le application variable dans Vercel comme application.
Alors refactorisez votre application wsgi.py fichier comme indiqué :
importer os
depuis django.core.wsgi importer get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "django_blog.settings")
application = get_wsgi_application()
application = application
Se connecter à une base de données distante
Si votre application a besoin d'un support de base de données, utilisez la provision de Vercel ou lancez une instance de base de données externe quelque part. Heureusement, il y a beaucoup base de données PostgreSQL gratuite choix en ligne. Vous pouvez aussi se connecter à un cluster MongoDB si vous préférez une base de données NoSQL.
Cependant, nous nous en tiendrons ici au cluster de bases de données PostgreSQL de Railway, car il offre un crédit de démarrage et est facile à configurer.
Pour configurer une instance PostgreSQL sur Railway :
- Visiter le Chemin de fer site web pour créer un compte.
- Cliquez sur Démarrer un nouveau projet.
- Sélectionner Provisionner PostgreSQL.
- Clique le postgres banner pour voir vos variables de base de données et vos chaînes de connexion.
- Allez à la variables languette. Ensuite, copiez et collez le DATABASE_URL chaîne dans un éditeur de texte pour la formater. Assurez-vous de remplacer les espaces réservés dans le DATABASE_URL chaîne avec les valeurs de variables appropriées.
- Copiez les variables restantes et configurez votre base de données dans votre Django paramètres.py fichier, comme indiqué ci-dessous. N'oubliez pas de remplacer les noms de variables par les valeurs appropriées fournies par Railway.
BASES DE DONNEES = {
'défaut': {
'MOTEUR': 'django.db.backends.postgresql',
'URL': 'DATABASE_URL',
'NOM': 'PGDATABASE',
'UTILISATEUR': 'PGUSER',
'MOT DE PASSE': 'PGPASSWORD',
'HÉBERGER': 'PGHOST',
'PORT': PGPORT,
}
}
Considérer masquant ces variables secrètes utilisant un .env fichier pour renforcer la sécurité de votre application Django. Par ailleurs, Vercel vous permet de lister vos variables d'environnement lors du déploiement.
Donc, une fois que vous utilisez le os.getenv méthode, Python récupère la variable spécifiée à partir de l'environnement d'hébergement Vercel. Ainsi, la configuration de votre base de données devient :
BASES DE DONNEES = {
'défaut': {
'MOTEUR': 'django.db.backends.postgresql',
'URL': os.getenv('POSTGRES_URL'),
'NOM': os.getenv('PGNAME'),
'UTILISATEUR': os.getenv('PGUSER'),
'MOT DE PASSE': os.getenv('POSTGRES_PASSWORD'),
'HÉBERGER': os.getenv('PGHOST'),
'PORT': os.getenv('PGPORT),
}
}
Déployez votre référentiel GitHub sur Vercel
La deuxième partie de ce processus consiste à pointer Vercel vers votre référentiel sur GitHub. Une fois que vous l'aurez fait, votre application sera en ligne et n'importe qui pourra accéder à votre site Web à une URL générée par Vercel.
Créer un fichier d'exigences
Vercel essaie de trouver et d'installer les dépendances de votre projet à l'intérieur du exigences.txt fichier lors du déploiement. Cependant, rappelez-vous que l'écriture de dépendances à partir d'un environnement virtuel dans exigences.txt est toujours plus facile que depuis l'espace global.
Créez un fichier requirements.txt dans le dossier racine de votre projet à l'aide de la commande suivante via le terminal :
gel de pip> requirements.txt
Connectez votre référentiel à Vercel
Vercel fonctionne en suivant les modifications dans un référentiel. La première étape du déploiement consiste donc à poussez votre code sur GitHub ou tout autre système de contrôle de version qui vous convient le mieux. Ignorez cette étape si votre code est déjà sur GitHub.
Pour démarrer sur Vercel :
- Inscrivez-vous sur le Site Internet de Vercel en utilisant votre compte GitHub. Suivez les instructions à l'écran pour terminer l'enregistrement du compte pour commencer.
- Ensuite, sélectionnez l'option Compte Hobby pour utiliser Vercel gratuitement.
- Une fois connecté, cliquez sur Ajouter nouveau. Puis clique Projet.
- Ensuite, cliquez sur Ajouter un compte GitHub du Importer le référentiel Git section. Ou vous pouvez cliquer Changer de fournisseur Git si vous utilisez un autre contrôle de version en plus de GitHub.
- Cliquez sur Tous les référentiels. Puis clique Installer.
- Sélectionnez votre compte GitHub dans la liste.
- Vercel détectera automatiquement vos référentiels. Cliquez sur Importer à droite de celui portant votre projet Django.
- Clique le Variables d'environnement liste déroulante pour lister vos variables d'environnement sur Vercel. Ceux-ci peuvent inclure la clé secrète de votre application et les chaînes de connexion à la base de données. Remplissez le Nom champ avec le nom de la variable. Entrez ensuite sa valeur dans Valeur champ.
- Cliquez sur Ajouter pour créer un nouveau champ et ajouter d'autres variables d'environnement.
- Enfin, cliquez Déployer. Votre application devrait être en ligne dans quelques instants. Cliquez sur l'URL à droite de l'icône Web pour visiter votre nouveau site Web.
Une fois déployé, Vercel suit les modifications ultérieures transmises à la branche principale pour les refléter dans la version en direct. Par conséquent, il vous suffit de déployer vos modifications sur GitHub pour mettre à jour votre application en temps réel.
Bien que Vercel génère automatiquement une URL pour votre site Web Django, vous pouvez également déployer en utilisant un nom de domaine personnalisé. Alors considérez acheter un nom de domaine chez un registrar si vous en avez besoin.
Hébergez votre site Web Django sans frais
Parfois, il faut plus qu'un référentiel GitHub pour impressionner les employeurs et clients potentiels. Alors qu'un référentiel solide et cohérent montre votre compétence, l'affichage d'une version en direct de votre portfolio ou prototype de projet vous présente comme un performant.
Héberger un projet qui ne génère pas de revenus est souvent décourageant. Mais heureusement, Vercel est l'un des rares services d'hébergement Web gratuits. Et vous avez vu comment déployer gratuitement votre projet Django sur la plateforme. Bien que l'URL générée semble désordonnée, vous pouvez la coller dans le fichier ReadMe de votre projet sur GitHub pour montrer aux gens comment fonctionne votre création.