Introduction
Django est un framework web Python complet pour le développement de sites web et d’applications dynamiques. En utilisant Django, vous pouvez rapidement créer des applications web Python et compter sur le framework pour effectuer une bonne partie du travail lourd.
Dans ce guide, vous allez mettre en place Django sur un serveur Ubuntu 22.04. Après l’installation, vous démarrerez un nouveau projet à utiliser comme base pour votre site.
Méthodes Différentes
Il existe différentes façons d’installer Django, en fonction de vos besoins et de la manière dont vous souhaitez configurer votre environnement de développement. Chacune de ces méthodes présente des avantages différents et une méthode peut mieux convenir à votre situation spécifique que d’autres.
Voici quelques-unes des méthodes différentes :
- Installation globale à partir de paquets : Les dépôts officiels d’Ubuntu contiennent des paquets Django qui peuvent être installés avec le gestionnaire de paquets conventionnel
apt
. C’est simple, mais moins flexible que certaines autres méthodes. De plus, la version contenue dans les dépôts peut être en retard par rapport aux versions officielles disponibles sur le projet. - Installer avec
pip
dans un environnement virtuel: Vous pouvez créer un environnement autonome pour vos projets en utilisant des outils tels quevenv
etvirtualenv
. Un environnement virtuel vous permet d’installer Django dans un répertoire de projet sans affecter le système global, ainsi que d’autres personnalisations et packages spécifiques au projet. C’est généralement l’approche la plus pratique et recommandée pour travailler avec Django. - Installer la version de développement avec
git
: Si vous souhaitez installer la dernière version de développement au lieu de la version stable, vous pouvez obtenir le code depuis le dépôt Git. Cela est nécessaire pour obtenir les dernières fonctionnalités/corrections et peut être fait dans votre environnement virtuel. Les versions de développement ne bénéficient pas des mêmes garanties de stabilité que les versions plus stables, cependant.
Prérequis
Avant de commencer, vous devez disposer d’un utilisateur non root avec des privilèges sudo disponibles sur votre serveur Ubuntu 22.04. Pour configurer cela, suivez notre guide de configuration initiale du serveur Ubuntu 22.04.
Installation globale à partir de packages
Si vous souhaitez installer Django en utilisant les dépôts Ubuntu, le processus est très simple.
Tout d’abord, mettez à jour votre index de paquets local avec apt
:
Ensuite, vérifiez quelle version de Python vous avez installée. La version 22.04 est livrée avec Python 3.10 par défaut, que vous pouvez vérifier en tapant :
Vous devriez voir une sortie comme ceci :
OutputPython 3.10.4
Ensuite, installez Django :
Vous pouvez tester si l’installation a réussi en tapant :
Output3.2.12
Cela signifie que le logiciel a été installé avec succès. Vous remarquerez peut-être également que la version de Django n’est pas la dernière version stable. Pour en savoir plus sur l’utilisation du logiciel, passez directement à l’apprentissage de comment créer un projet d’exemple.
Installer avec pip dans un environnement virtuel
La manière la plus flexible d’installer Django sur votre système est dans un environnement virtuel. Nous allons vous montrer comment installer Django dans un environnement virtuel que nous allons créer avec le module venv
, faisant partie de la bibliothèque standard de Python 3. Cet outil vous permet de créer des environnements virtuels Python et d’installer des packages Python sans affecter le reste du système. Vous pouvez donc sélectionner des packages Python sur une base de projet, indépendamment des conflits avec les exigences d’autres projets.
Commençons par actualiser l’index de paquets local :
Vérifiez la version de Python que vous avez installée :
OutputPython 3.10.4
Ensuite, installons pip
et venv
à partir des dépôts Ubuntu :
Maintenant, chaque fois que vous démarrez un nouveau projet, vous pouvez créer un environnement virtuel pour celui-ci. Commencez par créer et vous déplacer dans un nouveau répertoire de projet :
Ensuite, créez un environnement virtuel dans le répertoire du projet en utilisant la commande python
compatible avec votre version de Python. Nous appellerons notre environnement virtuel my_env
, mais vous devriez lui donner un nom descriptif :
Cela installera des versions autonomes de Python et de pip
dans une structure de répertoire isolée à l’intérieur de votre répertoire de projet. Un répertoire sera créé avec le nom que vous sélectionnez, qui contiendra la hiérarchie de fichiers où vos packages seront installés.
Pour installer des packages dans l’environnement isolé, vous devez l’activer en tapant :
Votre invite devrait changer pour refléter que vous êtes maintenant dans votre environnement virtuel. Il ressemblera à quelque chose comme (my_env)username@hostname:~/newproject$
.
Dans votre nouvel environnement, vous pouvez utiliser pip
pour installer Django. Peu importe votre version de Python, pip
devrait simplement être appelé pip
lorsque vous êtes dans votre environnement virtuel. Notez également que vous ne devez pas utiliser sudo
car vous installez localement :
Vous pouvez vérifier l’installation en tapant :
Output4.0.4
Notez que votre version peut différer de celle indiquée ici.
Pour quitter votre environnement virtuel, vous devez exécuter la commande deactivate
de n’importe où dans le système :
Votre invite de commande devrait revenir à l’affichage conventionnel. Lorsque vous souhaitez travailler à nouveau sur votre projet, réactivez votre environnement virtuel en retournant dans le répertoire de votre projet et en l’activant :
Installation de la version de développement avec Git
Si vous avez besoin d’une version de développement de Django, vous pouvez télécharger et installer Django depuis son dépôt Git. Faisons cela à partir d’un environnement virtuel.
Tout d’abord, mettons à jour l’index des paquets locaux :
Vérifiez la version de Python que vous avez installée :
OutputPython 3.10.4
Ensuite, installez pip
et venv
à partir des dépôts officiels :
La prochaine étape consiste à cloner le dépôt Django. Entre les versions, ce dépôt aura des fonctionnalités et des correctifs de bogues plus récents, au possible au détriment de la stabilité. Vous pouvez cloner le dépôt dans un répertoire appelé ~/django-dev
dans votre répertoire personnel en tapant :
Changez de répertoire :
Créez un environnement virtuel en utilisant la commande python
compatible avec votre version installée de Python :
Activez-le :
Ensuite, vous pouvez installer le dépôt en utilisant pip
. L’option -e
installera en mode « éditable », ce qui est nécessaire lors de l’installation à partir du contrôle de version :
Vous pouvez vérifier que l’installation a réussi en tapant :
Output4.0.4.2
Encore une fois, la version affichée peut ne pas correspondre à ce qui est montré ici.
Vous avez maintenant la dernière version de Django dans votre environnement virtuel.
Création d’un Projet Exemple
Avec Django installé, vous pouvez commencer à construire votre projet. Nous allons voir comment créer un projet et le tester sur votre serveur de développement en utilisant un environnement virtuel.
Tout d’abord, créez un répertoire pour votre projet et changez-y :
Ensuite, créez votre environnement virtuel :
Activez l’environnement :
Installez Django :
Pour construire votre projet, vous pouvez utiliser django-admin
avec la commande startproject
. Nous appellerons notre projet djangoproject
, mais vous pouvez le remplacer par un autre nom. startproject
créera un répertoire dans votre répertoire de travail actuel qui inclut :
- A management script,
manage.py
, which you can use to administer various Django-specific tasks. - A directory (with the same name as the project) that includes the actual project code.
Pour éviter d’avoir trop de répertoires imbriqués, cependant, disons à Django de placer le script de gestion et le répertoire interne dans le répertoire actuel (remarquez le point final) :
Pour migrer la base de données (cet exemple utilise SQLite par défaut), utilisons la commande migrate
avec manage.py
. Les migrations appliquent les modifications que vous avez apportées à vos modèles Django au schéma de votre base de données.
Pour migrer la base de données, tapez :
Vous verrez une sortie comme celle-ci :
OutputOperations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying sessions.0001_initial... OK
Enfin, créons un utilisateur administratif afin que vous puissiez utiliser l’interface d’administration de Django. Faisons cela avec la commande createsuperuser
:
Vous devrez fournir un nom d’utilisateur, une adresse e-mail et un mot de passe pour votre utilisateur.
Modification de ALLOWED_HOSTS dans les paramètres Django
Pour tester votre application avec succès, vous devrez modifier l’une des directives dans les paramètres Django.
Ouvrez le fichier de paramètres en tapant :
À l’intérieur, localisez la directive ALLOWED_HOSTS
. Cela définit une liste d’adresses ou de noms de domaine qui peuvent être utilisés pour se connecter à l’instance Django. Une requête entrante avec un en-tête Host qui ne figure pas dans cette liste lèvera une exception. Django exige que vous définissiez cela pour prévenir une certaine classe de vulnérabilité de sécurité.
Dans les crochets, listez les adresses IP ou les noms de domaine associés à votre serveur Django. Chaque élément doit être répertorié entre guillemets, avec des entrées séparées par une virgule. Si vous souhaitez des requêtes pour un domaine entier et tous ses sous-domaines, ajoutez un point au début de l’entrée:
Lorsque vous avez terminé, enregistrez le fichier et quittez votre éditeur.
Test du serveur de développement
Une fois que vous avez un utilisateur, vous pouvez démarrer le serveur de développement Django pour voir à quoi ressemble un projet Django frais. Vous ne devez utiliser cela que pour des fins de développement. Lorsque vous êtes prêt à déployer, assurez-vous de suivre attentivement les directives de déploiement de Django.
Avant d’essayer le serveur de développement, assurez-vous d’ouvrir le port approprié dans votre pare-feu. Si vous avez suivi le guide de configuration initiale du serveur et que vous utilisez UFW, vous pouvez ouvrir le port 8000
en tapant:
Démarrer le serveur de développement:
Visitez l’adresse IP de votre serveur suivie de :8000
dans votre navigateur Web :
http://your_server_ip:8000
Vous devriez voir quelque chose qui ressemble à ceci :
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’administrateur 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 de Django, veuillez consulter « Comment activer et connecter l’interface d’administration Django. »
Lorsque vous avez terminé de parcourir le site par défaut, vous pouvez arrêter le serveur de développement en tapant CTRL-C
dans votre terminal.
Le projet Django que vous avez créé fournit la base structurelle pour concevoir un site plus complet. Consultez la documentation Django pour plus d’informations sur la façon de construire vos applications et personnaliser votre site.
Conclusion
Vous devriez maintenant avoir Django installé sur votre serveur Ubuntu 22.04, fournissant les principaux outils dont vous avez besoin pour créer des applications web puissantes. Vous devriez également savoir comment démarrer un nouveau projet et lancer le serveur de développement. Tirer parti d’un framework web complet comme Django peut aider à accélérer le développement, vous permettant de vous concentrer uniquement sur les aspects uniques de vos applications.
Si vous souhaitez obtenir plus d’informations sur le travail avec Django, y compris des discussions approfondies sur des éléments tels que les modèles et les vues, veuillez consulter notre série de développement Django.