Django est un framework Web Python de haut niveau gratuit et open source conçu pour aider les développeurs à créer des applications Web sécurisées, évolutives et maintenables.
Il existe différentes méthodes pour installer Django, selon vos besoins. Il peut être installé à l'échelle du système ou dans un environnement virtuel Python à l'aide de pip. Les packages Django sont également inclus dans les référentiels CentOS et peuvent être installés à l'aide du yum
gestionnaire de paquets, mais ils sont obsolètes.
Dans ce didacticiel, nous allons installer et configurer la dernière version stable de Django sur une machine CentOS 7 dans un environnement virtuel Python.
L'objectif principal des environnements virtuels Python est de créer un environnement isolé pour différents projets Python. De cette façon, vous pouvez avoir plusieurs environnements Django différents sur un seul ordinateur et installer une version spécifique d'un module par projet sans craindre que cela n'affecte vos autres installations Django. Si vous installez Django dans l'environnement global, vous ne pouvez installer qu'une seule version de Django sur votre ordinateur.
Installer Django sur CentOS 7 #
Les sections suivantes fournissent des instructions étape par étape sur la façon d'installer Django dans un environnement virtuel Python sur CentOS 7.
1. Installation de Python 3 #
Nous allons installer Python 3.6 à partir des référentiels Software Collections (SCL).
CentOS 7 est livré avec Python 2.7.5 qui est une partie essentielle du système de base CentOS. SCL vous permettra d'installer des versions plus récentes de python 3.x aux côtés de python v2.7.5 par défaut afin que les outils système tels que yum continuent de fonctionner correctement.
Commencez par activer SCL en installant le fichier de version CentOS SCL qui est inclus dans le référentiel des extras CentOS :
sudo yum install centos-release-scl
Une fois le référentiel activé, installez Python 3.6 avec la commande suivante :
sudo yum install rh-python36
Une fois Python 3.6 installé, nous sommes prêts à créer un environnement virtuel pour notre application Django.
2. Création d'un environnement virtuel #
À partir de Python 3.6, la méthode recommandée pour créer un environnement virtuel est d'utiliser le venv
module.
Accédez au répertoire dans lequel vous souhaitez stocker vos environnements virtuels Python 3. Il peut s'agir de votre répertoire personnel ou de tout autre répertoire dans lequel votre utilisateur dispose d'autorisations de lecture et d'écriture.
Créez un nouveau répertoire pour votre application Django et cdindedans :
mkdir my_django_app
cd my_django_app
Pour accéder à Python 3.6, vous devez lancer une nouvelle instance de shell en utilisant le scl
outil :
scl enable rh-python36 bash
Exécutez la commande suivante pour créer un nouvel environnement virtuel :
python3 -m venv venv
La commande ci-dessus crée un répertoire appelé venv
, qui contient une copie du binaire Python, du gestionnaire de packages Pip, de la bibliothèque Python standard et d'autres fichiers de support. Vous pouvez utiliser le nom de votre choix pour l'environnement virtuel.
Pour commencer à utiliser cet environnement virtuel, vous devez l'activer en exécutant le activate
script :
source venv/bin/activate
Une fois activé, le répertoire bin de l'environnement virtuel sera ajouté au début du $PATH
variable. L'invite de votre shell changera également et affichera le nom de l'environnement virtuel que vous utilisez actuellement. Dans notre cas, c'est venv
.
3. Installer Django #
Maintenant que l'environnement virtuel est activé, vous pouvez utiliser le gestionnaire de packages Python pip
pour installer Django :
pip install django
Dans l'environnement virtuel, vous pouvez utiliser la commande pip
au lieu de pip3
et python
au lieu de python3
. Pour vérifier l'installation, utilisez la commande suivante qui imprimera la version de Django :
python -m django --version
Au moment de la rédaction de cet article, la dernière version officielle de Django est la 2.1.2
2.1.2
Votre version de Django peut différer de la version présentée ici.
4. Création d'un projet Django #
Pour créer un nouveau projet Django nommé mydjangoapp
utilisez le django-admin
utilitaire de ligne de commande :
django-admin startproject mydjangoapp
La commande ci-dessus va créer un mydjangoapp
répertoire dans votre répertoire courant.
tree mydjangoapp/
mydjangoapp/
|-- manage.py
`-- mydjangoapp
|-- __init__.py
|-- settings.py
|-- urls.py
`-- wsgi.py
Dans ce répertoire, vous trouverez le script principal de gestion des projets nommé manage.py
et un autre répertoire comprenant la configuration de la base de données, Django et les paramètres spécifiques à l'application.
Migrons la base de données et créons un utilisateur administratif.
Commencez par naviguer vers mydjangoapp
répertoire :
cd mydjangoapp
Par défaut, Django utilise une base de données SQLite. Pour les applications de production, vous pouvez utiliser PostgreSQL, MariaDB, Oracle ou MySQLDatabase.
Exécutez la commande suivante pour migrer la base de données :
python manage.py migrate
Le résultat ressemblera à ceci :
Operations 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
Une fois la base de données migrée, créez un utilisateur administratif afin de pouvoir utiliser l'interface d'administration de Django :
python manage.py createsuperuser
La commande vous demandera un nom d'utilisateur, une adresse e-mail et un mot de passe pour votre utilisateur administratif.
Username (leave blank to use 'linuxize'): admin
Email address: [email protected]
Password:
Password (again):
Superuser created successfully.
5. Test du serveur de développement #
Démarrez le serveur Web de développement à l'aide de manage.py
script suivi du runserver
choix :
python manage.py runserver
Vous verrez le résultat suivant :
Performing system checks...
System check identified no issues (0 silenced).
October 20, 2018 - 11:16:28
Django version 2.1.2, using settings 'mydjangoapp.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Si vous avez installé Django sur une machine virtuelle et que vous souhaitez accéder au serveur de développement Django, vous devrez modifier le fichier settings.py
fichier et ajoutez l'adresse IP du serveur dans le ALLOWED_HOSTS
liste.
Ouvrez http://127.0.0.1:8000
dans votre navigateur Web et la page d'accueil par défaut de Django vous sera présentée :
Vous pouvez accéder à l'interface d'administration de Django, en ajoutant /admin/
à la fin de l'URL (http://127.0.0.1:8000/admin/
). Cela vous amènera à l'écran de connexion de l'administrateur :
Entrez votre nom d'utilisateur et votre mot de passe et vous serez redirigé vers la page d'administration de Django :
Pour arrêter le serveur de développement tapez CTRL-C
dans votre terminal.
6. Désactivation de l'environnement virtuel #
Une fois que vous avez terminé votre travail, désactivez l'environnement en tapant deactivate
et vous reviendrez à votre shell normal.
deactivate