Introduction
Django est un framework web gratuit et open source écrit en Python avec pour principes fondamentaux la scalabilité, la réutilisabilité et le développement rapide. Il est également connu pour sa cohérence au niveau du framework et son couplage lâche, permettant à chaque composant d’être indépendant les uns des autres.
Dans ce tutoriel, vous configurerez un environnement Django à des fins de développement sur un serveur Ubuntu 22.04. Pour un site web en direct, vous aurez d’autres considérations, notamment la connexion à une base de données, la configuration d’un nom de domaine et l’ajout de couches de sécurité. Il existe une variété de tutoriels sur Django qui peuvent vous aider pendant que vous construisez sous la balise Django.
Prérequis
Pour terminer ce tutoriel, vous aurez besoin de :
-
Un compte utilisateur non root avec des privilèges
sudo
, que vous pouvez obtenir en suivant et en terminant le tutoriel de configuration initiale du serveur pour Ubuntu 22.04. -
Mise en place de Python 3 avec un environnement de programmation virtuel. Vous pouvez configurer cela via le guide d’installation de Python 3.
Étape 1 — Installation de Django
Il existe plusieurs façons d’installer Django, le gestionnaire de paquets Python pip dans un environnement virtuel.
Tout en étant dans le répertoire principal du serveur, vous allez créer le répertoire qui contiendra votre application Django. Exécutez la commande suivante pour créer un répertoire appelé django-apps
, ou un autre nom de votre choix. Ensuite, accédez au répertoire.
Une fois à l’intérieur du répertoire django-apps
, créez votre environnement virtuel. Vous l’appellerez génériquement env
, mais vous devriez utiliser un nom qui a du sens pour vous et votre projet.
Maintenant, activez l’environnement virtuel avec la commande suivante:
Vous saurez qu’il est activé une fois que le préfixe est changé en (env)
, ce qui ressemblera à ce qui suit, selon le répertoire dans lequel vous vous trouvez :
Dans l’environnement, installez le package Django en utilisant pip. L’installation de Django nous permet de créer et d’exécuter des applications Django.
Une fois installé, vérifiez votre installation Django en exécutant une vérification de version :
Ceci, ou quelque chose de similaire, sera la sortie résultante :
Output4.0.6
Avec Django installé sur votre serveur, vous pouvez passer à la création d’un projet de test pour vous assurer que tout fonctionne correctement. Vous allez créer une application web squelette.
Étape 2 — Ajustement des paramètres du pare-feu
Si vous avez suivi le tutoriel initial de configuration du serveur ou si vous avez un pare-feu en cours d’exécution sur votre serveur, vous devrez ouvrir le port que vous utiliserez dans le pare-feu de votre serveur. Pour le pare-feu UFW, vous pouvez ouvrir le port avec la commande suivante :
Si vous utilisez les pare-feu DigitalOcean, vous pouvez sélectionner HTTP dans les règles entrantes. Vous pouvez en savoir plus sur les pare-feu DigitalOcean et comment créer des règles pour eux en modifiant les règles entrantes.
Étape 3 — Démarrer le Projet
Vous pouvez maintenant générer une application en utilisant django-admin
, un utilitaire en ligne de commande pour les tâches d’administration en Python. Ensuite, vous pouvez utiliser la commande startproject
pour créer la structure du répertoire du projet pour votre site Web de test.
Alors que vous êtes dans le répertoire django-apps
, exécutez la commande suivante :
Note : L’exécution de la commande django-admin startproject <nomduprojet>
nommera à la fois le répertoire du projet et le package du projet <nomduprojet>
et créera le projet dans le répertoire où la commande a été exécutée. Si le paramètre optionnel <destination>
est fourni, Django utilisera le répertoire de destination fourni comme répertoire du projet et créera manage.py
et le package du projet à l’intérieur de celui-ci.
Maintenant, vous pouvez vérifier quels fichiers de projet viennent d’être créés. Naviguez jusqu’au répertoire testsite
, puis répertoriez le contenu de ce répertoire pour voir quels fichiers ont été créés :
Outputmanage.py testsite
Vous remarquerez la sortie qui indique que ce répertoire contient un fichier nommé manage.py
et un dossier nommé testsite
. Le fichier manage.py
est similaire à django-admin
et place le package du projet sur sys.path
. Cela définit également la variable d’environnement DJANGO_SETTINGS_MODULE
pour pointer vers le fichier settings.py
de votre projet.
Vous pouvez visualiser le script manage.py
dans votre terminal en exécutant la commande less
comme ceci :
Lorsque vous avez fini de lire le script, appuyez sur q
pour quitter la visualisation du fichier.
Maintenant, naviguez vers le répertoire testsite
pour voir les autres fichiers qui ont été créés :
Ensuite, exécutez la commande suivante pour lister le contenu du répertoire :
Vous verrez quatre fichiers :
Output__init__.py asgi.py settings.py urls.py wsgi.py
Vous pouvez examiner chacun de ces fichiers :
__init__.py
agit comme le point d’entrée de votre projet Python.asgi.py
contient la configuration pour le déploiement optionnel vers l’Interface de passerelle de serveur asynchrone ou ASGI, qui fournit une norme pour les applications qui sont soit synchrones et asynchrones, et est considéré comme un successeur de WSGI (voir ci-dessous).settings.py
décrit la configuration de votre installation Django et permet à Django de savoir quelles sont les options disponibles.urls.py
contient une listeurlpatterns
qui route et mappe les URL vers leursviews
.- Le fichier
wsgi.py
contient la configuration de l’interface de passerelle de serveur Web ou WSGI, qui fournit une norme pour les applications Python synchrones.
Note : Bien que des fichiers par défaut soient générés, vous avez toujours la possibilité de modifier les fichiers asgi.py
ou wsgi.py
à tout moment pour les adapter à vos besoins de déploiement.
Étape 4 — Configuration de Django
Vous pouvez maintenant démarrer le serveur et afficher le site Web sur un hôte et un port désignés en exécutant la commande runserver
.
Vous devrez ajouter l’adresse IP de votre serveur à la liste des ALLOWED_HOSTS
dans le fichier settings.py
situé dans ~/test_django_app/testsite/testsite/
.
Comme indiqué dans la documentation de Django, la variable ALLOWED_HOSTS
contient « une liste de chaînes représentant les noms d’hôte/domaine que ce site Django peut servir. Il s’agit d’une mesure de sécurité visant à empêcher les attaques de l’en-tête Host HTTP, qui sont possibles même sous de nombreuses configurations de serveur Web apparemment sécurisées. »
Vous pouvez utiliser votre éditeur de texte préféré pour ajouter votre adresse IP. Par exemple, si vous utilisez nano
, exécutez la commande suivante :
Une fois que vous avez exécuté la commande, vous voudrez naviguer jusqu’à la section ALLOWED_HOSTS
du document et ajouter l’adresse IP de votre serveur entre crochets simples ou doubles.
Vous pouvez sauvegarder les modifications et quitter nano en maintenant les touches CTRL
+ x
enfoncées, puis en appuyant sur la touche y
. Ensuite, vous pourrez accéder à votre application web via un navigateur.
Enfin, créez un utilisateur administratif afin de pouvoir utiliser l’interface d’administration de Django. Cela peut être fait avec la commande createsuperuser
:
Vous devrez fournir un nom d’utilisateur, une adresse e-mail et un mot de passe pour votre utilisateur.
Étape 5 — Accès à l’application web Django
Avec votre configuration terminée, assurez-vous de revenir au répertoire où se trouve manage.py
:
Maintenant, exécutez la commande suivante en remplaçant le texte votre-adresse-ip-du-serveur par l’IP de votre serveur :
Enfin, vous pouvez accéder au lien ci-dessous pour voir à quoi ressemble votre site web squelette, en remplaçant à nouveau le texte surligné par l’adresse IP réelle de votre serveur :
http://your-server-ip:8000/
Une fois la page chargée, vous verrez ce qui suit :
Cela confirme que Django a été correctement installé et que votre projet de test fonctionne correctement.
Pour accéder à l’interface d’administration, ajoutez /admin/
à la fin de votre URL :
http://your_server_ip:8000/admin/
Cela vous mènera à un écran de connexion :
Si vous saisissez le nom d’utilisateur et le mot de passe d’administration que vous venez de créer, vous aurez accès à la section d’administration principale du site :
Pour plus d’informations sur l’utilisation de l’interface d’administration Django, veuillez consulter « Comment activer et connecter l’interface d’administration Django ».
Lorsque vous avez terminé de tester votre application, vous pouvez appuyer sur CTRL
+ C
pour arrêter la commande runserver
. Cela vous ramènera à votre environnement de programmation.
Lorsque vous êtes prêt à quitter votre environnement Python, vous pouvez exécuter la commande deactivate
:
La désactivation de votre environnement de programmation vous ramènera à l’invite de commande du terminal.
Conclusion
Dans ce tutoriel, vous avez réussi à installer Django et à configurer un environnement de développement pour commencer à travailler sur votre application Django.
Vous avez maintenant les bases nécessaires pour commencer à construire des applications web Django.