Recherche de site Web

Installation et configuration de Django Web Framework avec des environnements virtuels dans CentOS/Debian - Partie 1


« Cet article a été révisé et mis à jour avec la dernière version de Django – mai 2016 »

Il y a une vingtaine d'années, lorsque le World Wide Web en était encore à ses balbutiements, avoir un site Web personnel ou professionnel était presque un luxe rare. Avec le développement ultérieur de plusieurs technologies Web et l'introduction de contenus dynamiques fournis par la combinaison de programmes côté serveur et de bases de données, les entreprises ne pouvaient plus se contenter d'avoir un site Web statique.

Ainsi, les applications Web sont devenues une réalité – des programmes au sens plein du terme fonctionnant sur un serveur Web et accessibles via un navigateur Web.

Pour rendre le développement plus facile et plus efficace, les frameworks Web ont été conçus pour aider les programmeurs dans leurs efforts de création d'applications. En bref, un framework Web prend en charge les fonctionnalités de base communes dans le processus de développement, telles que la gestion des sessions utilisateur, l'interaction avec les bases de données et les bonnes pratiques consistant à séparer la logique métier de la logique d'affichage, pour ne citer que quelques exemples.

Dans cette série Django en 3 articles, nous vous présenterons Django, un framework Web populaire basé sur Python. Pour cette raison, il est suggéré d'avoir au moins un peu de familiarité avec ce langage de programmation, mais si vous en avez peu ou pas d'expérience, nous vous expliquerons également les bases.

Installer Django sur les serveurs CentOS et Debian

Bien que vous puissiez installer Django à partir de Debian (v1.7.7 : le support étendu sera interrompu en décembre 2015) et de Fedora EPEL (v1.6.11 : le support étendu a été interrompu depuis avril 2015), la version disponible n'est pas la dernière version stable LTS (Long Term Support) (v1.8.13, en date de mai 2016).

Dans ce tutoriel, nous allons vous montrer comment installer Django v1.8.13 puisque son support étendu est garanti au moins jusqu'en avril 2018.

La méthode recommandée pour installer Django consiste à utiliser pip, un outil populaire pour gérer les packages Python. Aussi, afin de créer des environnements Python isolés et d'éviter les conflits entre projets pouvant nécessiter différentes versions de dépendances logicielles, l'utilisation d'environnements virtuels est fortement encouragée.

Les outils utilisés pour créer et gérer des environnements Python virtuels sont appelés virtualenv.

Suivez ces étapes pour effectuer l'installation :

1. Pour les distributions basées sur Fedora (sauf dans Fedora lui-même), activez d'abord le référentiel EPEL :

yum update && yum install epel-release

2. Installez pip et virtualenv :

Distributions basées sur Fedora :

yum install python-pip python-virtualenv
OR 
dnf install python-pip python-virtualenv
Debian et dérivés :
aptitude update && aptitude install python-pip virtualenv

3. Créez un répertoire pour stocker votre projet initial.

mkdir ~/myfirstdjangoenv
cd ~/myfirstdjangoenv

4. Créez et activez un environnement virtuel :

virtualenv myfirstdjangoenv

La commande ci-dessus crée un ensemble de fichiers et de sous-répertoires dans ~/myfirstdjangoenv et installe essentiellement une copie locale de Python et pip dans le répertoire de travail actuel. . Ensuite, nous devons activer l'environnement virtuel que nous venons de créer :

source myfirstdjangoenv/bin/activate

5. Remarquez comment l'invite de commande change après la dernière commande. Il est maintenant temps d'installer Django :

Notez que la capture d'écran ci-dessous a été prise lors d'une version précédente de ce didacticiel, mais le résultat attendu est le même lors de l'installation de Django 1.8.13 ) :


pip install Django==1.8.13

Vous pouvez vérifier la version de Django en lançant un shell Python depuis votre répertoire de travail actuel :

python
>>> import django
>>> print(django.get_version())

(Encore une fois, la commande ci-dessus devrait renvoyer 1.8.13 lors de la vérification de la version actuelle de Django).

Pour quitter l'invite Python, tapez :

>>> exit() 

et appuyez sur Entrée. Ensuite, désactivez l'environnement virtuel :

deactivate

Veuillez noter que tant que l'environnement virtuel reste désactivé, Django n'est pas disponible :

Comment créer un premier projet dans Django

Pour créer un projet dans l'environnement virtuel que nous avons créé précédemment, il doit être activé :

source myfirstdjangoenv/bin/activate

Ensuite, le framework créera toute la structure de répertoires pour stocker votre projet. Pour ce faire, vous devrez courir.

django-admin startproject myfirstdjangoproject

La commande ci-dessus créera un répertoire nommé myfirstdjangoproject dans votre répertoire de travail actuel.

où vous trouverez un fichier nommé manage.py (un utilitaire qui vous aidera à gérer votre projet plus tard) et un autre sous-répertoire (~/myfirstdjangoenv/myfirstdjangoproject/myfirstdjangoproject). Ce dernier sous-répertoire servira de conteneur pour les fichiers du projet.

Bien que le reste des fichiers ait un sens après avoir examiné quelques Python pour commencer à écrire une véritable application Web, il vaut la peine de prendre note des fichiers clés qui se trouveront dans un répertoire de conteneur de projet :

  1. myfirstdjangoproject/__init__.py : ce fichier vide indique à Python que ce répertoire doit être considéré comme un package Python.
  2. myfirstdjangoproject/settings.py : Paramètres spécifiques à ce projet Django.
  3. myfirstdjangoproject/urls.py : une table des matières (table des matières) de votre site propulsé par Django.
  4. myfirstdjangoproject/wsgi.py : un point d'entrée pour les serveurs Web compatibles WSGI pour servir votre projet.
ls 
ls -l myfirstdjangoproject
ls -l myfirstdjangoproject/myfirstdjangoproject

De plus, Django dispose d'un serveur Web léger intégré (écrit en Python similaire à Python SimpleHTTP, quoi d'autre ?) qui peut être utilisé pour tester vos applications pendant le développement. processus sans avoir à s’occuper de la tâche de configuration d’un serveur Web à ce stade particulier.

Cependant, vous devez savoir que cela n’est pas adapté à un environnement de production – uniquement au développement. Pour lancer votre projet nouvellement créé, remplacez votre répertoire de travail actuel par le répertoire conteneur de votre projet (~/myfirstdjangoenv/myfirstdjangoproject) et exécutez :

python manage.py runserver 0.0.0.0:8000

Si vous rencontrez l'erreur suivante :

You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.

Faites ce qui est dit :

python manage.py migrate

puis redémarrez le serveur :

python manage.py runserver 0.0.0.0:8000

Nous aborderons le concept de migrations dans les prochains articles de cette série, vous pouvez donc ignorer le message d'erreur pour le moment.

Dans tous les cas, vous pouvez modifier le port par défaut sur lequel le serveur Web intégré écoutera. En utilisant 0.0.0.0 comme interface réseau pour écouter, nous permettons aux autres ordinateurs du même réseau d'accéder à l'interface utilisateur du projet (si vous utilisez 127.0.0.1 à la place, vous ne pourrez accéder à l'interface utilisateur qu'à partir de localhost).

Vous pouvez également remplacer le port par un autre de votre choix, mais vous devrez également vous assurer que le trafic via ce port est autorisé via votre pare-feu :

firewall-cmd --add-port=8000/tcp
firewall-cmd --permanent --add-port=8000/tcp

Bien entendu, il va sans dire que vous devrez mettre à jour le port autorisé si vous choisissez d'en utiliser un autre lors du lancement du serveur Web léger.

Vous devriez voir le résultat suivant dans votre terminal :

python manage.py runserver 0.0.0.0:8000

À ce stade, vous pouvez ouvrir votre navigateur Web préféré et accéder à l'adresse IP de la machine sur laquelle vous avez installé Django suivie du numéro de port. Dans mon cas, il s'agit d'une box Debian Jessie avec IP 192.168.0.25 et en écoute sur le port 8000 :

http://192.168.0.25:8000

Même si c'est une bonne chose que nous ayons pu terminer la configuration initiale d'un projet, il reste encore beaucoup de travail à faire, comme indiqué dans le message ci-dessus.

Résumé

Dans ce guide, nous avons expliqué comment installer et configurer un environnement virtuel pour Django, un framework Web open source polyvalent basé sur Python.

Que vous soyez un développeur d'applications ou un administrateur système, vous souhaiterez ajouter cet article et le reste de cette série à vos favoris, car il est probable qu'à un moment ou à un autre, vous devrez réfléchir à la nécessité d'un tel outil pour vos tâches quotidiennes.

Dans les articles suivants de cette série, nous verrons comment s'appuyer sur ce que nous avons déjà accompli pour créer une application Web simple mais fonctionnelle à l'aide de Django et Python.

Comme toujours, n'hésitez pas à nous envoyer un message si vous avez des questions sur cet article ou des suggestions d'amélioration. Nous avons hâte d'avoir de tes nouvelles!