Tutorial

Comment installer Django et mettre en place un environnement de développement sur Ubuntu 20.04

DjangoPython FrameworksDevelopmentUbuntu 18.04

Introduction

Django est un framework web libre et open-source écrit en Python dont les principes de base sont l'extensibilité, la réutilisation et le développement rapide. Il est également connu pour sa cohérence au niveau du framework et son couplage lâche, qui permet aux différents composants d'être indépendants les uns des autres.

Dans ce tutoriel, nous allons mettre en place un environnement Django à des fins de développement sur un serveur Ubuntu 20.04. Pour un site web en direct, vous aurez des considérations supplémentaires, notamment la connexion à une base de données, la mise en place d'un nom de domaine et l'ajout de couches de sécurité. Nous avons une variété de tutoriels sur Django qui peuvent vous aider à construire sous notre label Django.

Conditions préalables

Pour pouvoir suivre ce tutoriel, vous aurez besoin de :

Étape 1 — Installation de Django

Il existe plusieurs façons d'installer Django, le gestionnaire de packages Python pip dans un environnement virtuel.

Dans le répertoire d'origine du serveur, nous allons créer le répertoire qui contiendra notre application Django. Exécutez la commande suivante pour créer un répertoire appelé django-apps, ou un autre nom de votre choix.  Naviguez ensuite vers le répertoire.

  • mkdir django-apps
  • cd django-apps

Dans le répertoire django-apps, créez votre environnement virtuel. Nous l'appellerons le générique env, mais vous devez utiliser un nom qui est significatif pour vous et votre projet.

  • virtualenv env

Maintenant, activez l'environnement virtuel avec la commande suivante :

  • . env/bin/activate

Vous saurez qu'il est activé dès que le préfixe sera 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.

  • pip install django

Une fois installé, vérifiez votre installation Django en effectuant un contrôle de version :

  • django-admin --version

Ceci, ou quelque chose similaire, sera la sortie qui en résulte :

Output
3.0.6

Une fois Django installé sur votre serveur, nous pouvons passer à la création d'un projet test pour nous assurer que tout fonctionne correctement. Nous allons créer un squelette d'application web.

Étape 2 – Ajuster les paramètres du pare-feu

Si vous avez suivi notre tutoriel de configuration initiale du serveur ou que vous avez un pare-feu sur votre serveur, nous devrons ouvrir le port que nous utiliserons dans le pare-feu de notre serveur. Pour le pare-feu UFW, vous pouvez ouvrir le port avec la commande suivante :

  • sudo ufw allow 8000

Si vous utilisez les pare-feu DigitalOcean, vous pouvez sélectionner HTTP dans les règles d'entrée. Vous pouvez en savoir plus sur les pare-feu DigitalOcean et sur la création de règles pour ceux-ci en modifiant les règles d'entrée.

Étape 3 — Démarrage du projet

Nous pouvons 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, nous pouvons utiliser la commande startproject pour créer la structure du répertoire projet pour notre site web test.

Dans le répertoire django-apps, exécutez la commande suivante :

  • django-admin startproject testsite

Remarque : L'exécution de la commande django-admin startproject <projectname> donnera au répertoire du projet et au package du projet le nom <projectname> et créera le projet dans le répertoire dans lequel la commande a été exécutée. Si le paramètre facultatif <destination> est fourni, Django utilisera le répertoire de destination fourni comme répertoire du projet, et créera le fichier manage.py et le package du projet à l'intérieur de celui-ci.

Nous pouvons maintenant voir quels fichiers de projet viennent d'être créés. Naviguez vers le répertoire testsite puis listez le contenu de ce répertoire pour voir quels fichiers ont été créés :

  • cd testsite
  • ls
Output
manage.py testsite

Vous remarquerez une sortie qui montre 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 permet également de faire pointer la variable d'environnement DJANGO_SETTINGS_MODULE sur 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 :

  • less manage.py

Lorsque vous avez terminé la lecture du script, appuyez sur q, pour quitter la visualisation du fichier.

Naviguez maintenant dans le répertoire testsite pour visualiser les autres fichiers qui ont été créés :

  • cd testsite/

Exécutez ensuite la commande suivante pour lister le contenu du répertoire :

  • ls

Vous verrez quatre fichiers :

Output
__init__.py asgi.py settings.py urls.py wsgi.py

Examinons la nature de chacun de ces fichiers :

  • __init__.py agit comme point d'entrée pour votre projet Python.
  • asgi.py contient la configuration pour le déploiement optionnel à l'Asynchronous Server Gateway Interface ou ASGI, qui fournit un standard pour les applications qui sont soit synchrones soit asynchrones, et est considéré comme un successeur du WSGI (voir ci-dessous).
  • settings.py décrit la configuration de votre installation Django et permet à Django de connaître les paramètres disponibles.
  • urls.py contient une liste d’urlpatterns, qui dirige et fait correspondre les URL à leurs vues.
  • wsgi.py contient la configuration de la Web Server Gateway Interface ou WSGI, qui fournit un standard pour les applications Python synchrones.

Remarque : Bien que les fichiers par défaut soient générés, vous avez encore la possibilité de modifier les fichiers asgi.py ou wsgi.py à tout moment pour répondre à vos besoins de déploiement.

Étape 4 — Configuration de Django

Nous pouvons maintenant démarrer le serveur et visualiser le site web sur un hôte et un port désignés en exécutant la commande runserver.

Nous devrons 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 documentations de Django, la variable ALLOWED_HOSTS contient « une liste des chaînes de caractères représentant les noms d'hôtes/domaines que ce site Django peut servir. Il s'agit d'une mesure de sécurité pour prévenir les attaques d'en-tête HTTP Host, qui sont possibles même dans de nombreuses configurations de serveurs web apparemment sûres. »

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 :

  • nano ~/django-apps/testsite/testsite/settings.py

Une fois la commande exécutée, vous devrez vous rendre dans la section “Allowed Host du document et ajouter l'adresse IP de votre serveur entre des crochets, dans des guillemets simples ou doubles.

settings.py
"""
Django settings for testsite project.

Generated by 'django-admin startproject' using Django 2.0.
...
"""
...
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

# Edit the line below with your server IP address
ALLOWED_HOSTS = ['your-server-ip']
...

Vous pouvez enregistrer la modification et quitter nano en appuyant sur la touche CTRL + x, puis sur la touche y. Ensuite, nous allons accéder à notre application web via un navigateur.

Enfin, créons un utilisateur administratif afin de pouvoir utiliser l’interface d'admin de Djano. Pour le faire, utilisons la commande createsuperuser.

  • python manage.py createsuperuser

Vous serez invité à saisir le nom d'utilisateur, l'adresse électronique et le mot de passe de votre utilisateur.

Étape 5 — Accès à l'application web Django

Une fois notre configuration terminée, assurez-vous de revenir au répertoire où se trouve manage.py :

  • cd ~/django-apps/testsite/

Maintenant, exécutez la commande suivante en remplaçant le texte your-server-ip par l'IP de votre serveur :

  • python manage.py runserver 0.0.0.0:8000

Enfin, vous pouvez naviguer vers le lien ci-dessous pour voir à quoi ressemble votre squelette de site web, en remplaçant à nouveau le texte en surbrillance par l'IP réelle de votre serveur :

http://your-server-ip:8000/

Une fois la page chargée, vous verrez ce qui suit :

Page par défaut de Django

Cela confirme que Django a été correctement installé et notre projet 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 amènera à un écran de connexion :

Connexion à l'interface d'administration de Django

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

Page d'administration de Django

Pour plus d'informations sur l'utilisation de l'interface d'administration de Django, veuillez consulter la section Comment activer et connecter l'interface d'administration de Django.

Lorsque vous avez fini de tester votre application, vous pouvez appuyer sur CTRL + C pour arrêter la commande runserver​​​. Cela vous renverra à votre environnement de programmation.

Lorsque vous êtes prêt à quitter votre environnement Python, vous pouvez exécuter la commande deactivate :

  • 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 à mettre en place un environnement de développement pour commencer à travailler sur votre application Django.

Vous disposez maintenant des bases nécessaires pour commencer à construire des applications web Django.

0 Comments

Creative Commons License