Comment installer le framework Web Django sur Ubuntu 18.04

introduction

Django est un cadre Web Python complet pour le développement d’applications Web et de sites Web dynamiques. En utilisant Django, vous pouvez créer rapidement des applications Web Python et vous appuyer sur le framework pour faire beaucoup de travail.

Dans ce guide, Django sera opérationnel sur un serveur Ubuntu 18.04. Après l’installation, vous lancerez un nouveau projet à utiliser comme base pour votre site.

Différentes méthodes

Il existe différentes manières d’installer Django, en fonction de vos besoins et de la manière dont vous souhaitez configurer votre environnement de développement. Celles-ci présentent des avantages différents et une méthode peut se prêter mieux à votre situation spécifique que d’autres.

Certaines des méthodes incluent:

  • * Installation globale à partir de packages *: Les référentiels officiels Ubuntu contiennent des packages Django pouvant être installés avec le gestionnaire de packages conventionnel + apt +. C’est simple, mais pas aussi flexible que d’autres méthodes. En outre, la version contenue dans les référentiels peut être en retard par rapport aux versions officielles disponibles dans le projet.

  • * Installer avec + pip + dans un environnement virtuel *: Vous pouvez créer un environnement autonome pour vos projets en utilisant des outils tels que + venv + et + virtualenv +. Un environnement virtuel vous permet d’installer Django dans un répertoire de projet sans affecter le système plus vaste, ainsi que d’autres personnalisations et packages par projet. C’est généralement l’approche la plus pratique et la plus recommandée pour travailler avec Django.

  • * Installation de la version de développement avec + git + *: si vous souhaitez installer la dernière version de développement à la place de la version stable, vous pouvez acquérir le code auprès du référentiel Git. Ceci est nécessaire pour obtenir les dernières fonctionnalités / corrections et peut être effectué dans votre environnement virtuel. Les versions de développement n’ont toutefois pas les mêmes garanties de stabilité que les versions plus stables.

Conditions préalables

Avant de commencer, vous devriez avoir un utilisateur non root avec les privilèges sudo disponibles sur votre serveur Ubuntu 18.04. Pour configurer cela, suivez notre Ubuntu 18.04 guide de configuration du serveur.

Installation globale à partir de packages

Si vous souhaitez installer Django en utilisant les référentiels Ubuntu, le processus est très simple.

Commencez par mettre à jour votre index de paquet local avec + apt +:

sudo apt update

Ensuite, vérifiez quelle version de Python vous avez installée. 18.04 est livré avec Python 3.6 par défaut, ce que vous pouvez vérifier en tapant:

python3 -V

Vous devriez voir la sortie comme ceci:

OutputPython

Ensuite, installez Django:

sudo apt install python3-django

Vous pouvez vérifier que l’installation a réussi en tapant:

django-admin --version
Output

Cela signifie que le logiciel a été installé avec succès. Vous remarquerez peut-être aussi que la version de Django n’est pas la dernière version stable. Pour en savoir plus sur l’utilisation du logiciel, passez à l’aventure sur https://www.digitalocean.com/community/tutorials/how-to-install-the-django-web-framework-on-ubuntu-18-04#. creation-a-sample-project [comment créer un exemple de projet].

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 +, qui fait partie de la bibliothèque standard Python 3. Cet outil vous permet de créer des environnements Python virtuels et d’installer des packages Python sans affecter le reste du système. Vous pouvez donc sélectionner des packages Python projet par projet, indépendamment des conflits avec les exigences d’autres projets.

Commençons par actualiser l’index de paquetage local:

sudo apt update

Vérifiez la version de Python que vous avez installée:

python3 -V
OutputPython

Ensuite, installons + pip + depuis les dépôts Ubuntu:

sudo apt install python3-pip

Une fois que + pip + est installé, vous pouvez l’utiliser pour installer le paquetage + venv +:

sudo apt install python3-venv

Désormais, chaque fois que vous démarrez un nouveau projet, vous pouvez créer un environnement virtuel pour celui-ci. Commencez par créer et déplacer dans un nouveau répertoire de projet:

mkdir ~/
cd ~/

Créez ensuite un environnement virtuel dans le répertoire du projet à l’aide de la commande + python compatible avec votre version de Python. Nous appellerons notre environnement virtuel ++, mais vous devriez lui donner un nom descriptif:

python3 -m venv

Cela installera des versions autonomes de Python et + pip + dans une structure de répertoires isolée dans le répertoire de votre 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:

source /bin/activate

Votre invite devrait changer pour indiquer que vous vous trouvez maintenant dans votre environnement virtuel. Cela ressemblera à quelque chose comme + () nom_utilisateur @ nom_hôte: ~ / newproject $ +.

Dans votre nouvel environnement, vous pouvez utiliser + pip + pour installer Django. Quelle que soit votre version de Python, + pip + devrait simplement s’appeler + pip + lorsque vous vous trouvez dans votre environnement virtuel. Notez également que vous n’avez pas besoin d’utiliser + sudo + puisque vous installez localement:

pip install django

Vous pouvez vérifier l’installation en tapant:

django-admin --version
Output

Notez que votre version peut différer de la version illustrée ici.

Pour quitter votre environnement virtuel, vous devez exécuter la commande + deactivate + à partir de n’importe où sur le système:

deactivate

Votre invite devrait revenir à l’affichage conventionnel. Lorsque vous souhaitez retravailler sur votre projet, réactivez votre environnement virtuel en retournant dans votre répertoire de projet et en activant:

cd ~/
source /bin/activate

Version de développement Installer avec Git

Si vous avez besoin d’une version de développement de Django, vous pouvez télécharger et installer Django à partir de son référentiel Git. Faisons cela depuis un environnement virtuel.

Commençons par mettre à jour l’index de paquetage local:

sudo apt update

Vérifiez la version de Python que vous avez installée:

python3 -V
OutputPython

Ensuite, installez + pip + depuis les dépôts officiels:

sudo apt install python3-pip

Installez le package + venv + pour créer votre environnement virtuel:

sudo apt install python3-venv

La prochaine étape consiste à cloner le référentiel Django. Entre les versions, ce référentiel aura plus de fonctionnalités mises à jour et de corrections de bugs aux dépens de la stabilité. Vous pouvez cloner le référentiel dans un répertoire appelé «+ ~ / +» dans votre répertoire personnel en tapant:

git clone git://github.com/django/django ~/

Changer dans ce répertoire:

cd ~/

Créez un environnement virtuel à l’aide de la commande + python + compatible avec votre version de Python installée:

python3 -m venv

Activez le:

source /bin/activate

Ensuite, vous pouvez installer le référentiel en utilisant + pip +. L’option + -e + s’installera en mode «éditable», ce qui est nécessaire lors d’une installation à partir du contrôle de version:

pip install -e ~/

Vous pouvez vérifier que l’installation a réussi en tapant:

django-admin --version
Output

De nouveau, la version que vous voyez 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 exemple de projet

Avec Django installé, vous pouvez commencer à construire votre projet. Nous verrons 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-le:

mkdir ~/
cd ~/

Ensuite, créez votre environnement virtuel:

python3 -m venv

Activer l’environnement:

source /bin/activate

Installez Django:

pip install django

Pour construire votre projet, vous pouvez utiliser + django-admin avec la commande` + startproject`. Nous appellerons notre projet ++, mais vous pouvez le remplacer par un autre nom. + startproject + créera un répertoire dans votre répertoire de travail actuel qui comprend:

  • Un script de gestion, + manage.py +, que vous pouvez utiliser pour administrer diverses tâches spécifiques à Django.

  • Un répertoire (portant le même nom que le projet) contenant le code du projet actuel.

Toutefois, pour éviter d’avoir trop de répertoires imbriqués, demandons à Django de placer le script de gestion et le répertoire interne dans le répertoire current (remarquez le point final):

django-admin startproject  .

Pour migrer la base de données (cet exemple utilise SQLite par défaut), utilisons la commande + migrate + avec + manage.py +. Migrations appliquez les modifications que vous avez apportées à votre Django https://www.digitalocean.com/community/tutorials/how-to-create -django-models [modèles] à votre schéma de base de données.

Pour migrer la base de données, tapez:

python manage.py migrate

Vous verrez une sortie comme suit:

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 sessions.0001_initial... OK

Enfin, créons un utilisateur administratif pour pouvoir utiliser l’interface Djano. Faisons cela avec la commande + createuperuser +:

python manage.py createsuperuser

Vous serez invité à saisir un nom d’utilisateur, une adresse électronique et un mot de passe pour votre utilisateur.

Modification de ALLOWED_HOSTS dans les paramètres Django

Pour tester votre application, vous devez modifier l’une des directives dans les paramètres Django.

Ouvrez le fichier de paramètres en tapant:

nano ~///settings.py

À l’intérieur, localisez la directive + ALLOWED_HOSTS +. Ceci définit une liste blanche d’adresses ou de noms de domaines pouvant être utilisés pour se connecter à l’instance de Django. Une demande entrante avec un en-tête * Host * qui ne figure pas dans cette liste va générer une exception. Django exige que vous définissiez cela pour empêcher une certaine classe de vulnérabilité de sécurité.

Entre les crochets, répertoriez les adresses IP ou les noms de domaine associés à votre serveur Django. Chaque élément doit être répertorié dans des citations, avec des entrées séparées, séparées par une virgule. Si vous souhaitez des demandes pour un domaine entier et tous les sous-domaines, ajoutez un point au début de l’entrée:

~ / django-test / djangoproject / settings.py

. . .
ALLOWED_HOSTS = ['', '', ]

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 nouveau projet Django. Vous ne devriez utiliser ceci qu’à des fins de développement. Lorsque vous êtes prêt à déployer, assurez-vous de suivre attentivement les Django directives sur le déploiement.

Avant d’essayer le serveur de développement, assurez-vous d’ouvrir le port approprié sur votre pare-feu. Si vous avez suivi le guide de configuration initiale du serveur et utilisez UFW, vous pouvez ouvrir le port + 8000 + en tapant:

sudo ufw allow 8000

Démarrez le serveur de développement:

python manage.py runserver :8000

Visitez l’adresse IP de votre serveur suivie de «+: 8000 +» dans votre navigateur Web:

http://:8000

Vous devriez voir quelque chose qui ressemble à ceci:

image: https: //assets.digitalocean.com/articles/django_install_18_04/django_landing_page_18_04.png [Page publique de Django]

Pour accéder à l’interface d’administration, ajoutez + / admin / + à la fin de votre URL:

http://:8000/admin/

Cela vous mènera à un écran de connexion:

image: https: //assets.digitalocean.com/articles/eng_python/django/django-admin-login.png [Connexion à l’administrateur Django]

Si vous entrez le nom d’utilisateur et le mot de passe de l’administrateur que vous venez de créer, vous aurez accès à la section principale de l’administrateur du site:

image: https: //assets.digitalocean.com/articles/eng_python/django/django-admin-panel.png [page d’administration Django]

Pour plus d’informations sur l’utilisation de l’interface d’administration de Django, consultez la page How To Enable et Connectez l’interface d’administration de Django. "

Lorsque vous avez fini 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 la conception d’un site plus complet. Consultez la documentation de Django pour plus d’informations sur la création de vos applications et la personnalisation de votre site.

Conclusion

Django devrait maintenant être installé sur votre serveur Ubuntu 18.04, fournissant les principaux outils nécessaires pour créer de puissantes applications Web. Vous devez également savoir comment démarrer un nouveau projet et lancer le serveur de développeur. Exploiter un environnement Web complet tel que Django peut accélérer le développement, vous permettant de vous concentrer uniquement sur les aspects uniques de vos applications.

Si vous souhaitez en savoir plus sur l’utilisation de Django, notamment des discussions approfondies sur des sujets tels que models et https: // www.digitalocean.com/community/tutorials/how-to-create-django-views[views], veuillez consulter notre Django development series.

Related