Retour au blog

Utilisation de PostgreSQL avec Django sur Ubuntu 21.04 Server

Utilisation de PostgreSQL avec Django sur Ubuntu 21.04 Server

Django est un framework web bien connu qui simplifie le processus de création d'applications web robustes, évolutives, sécurisées et performantes. C'est un projet open-source écrit en Python. Vous pouvez consulter plus d'informations détaillées sur Django ici.

Toute application web nécessite une base de données en backend pour gérer les données. Django prend en charge divers moteurs de base de données comme backend, par exemple, MySQL, PostgreSQL, SQLite etc. PostgreSQL est un système de gestion de base de données relationnelle-objet puissant et open-source. Il est réputé pour sa fiabilité, son évolutivité, sa sécurité et son ensemble de fonctionnalités robustes. Vous pouvez en savoir plus sur PostgreSQL ici.

Dans ce guide, nous allons présenter l'intégration de PostgreSQL en tant que backend sur un exemple d'application Django.

Prérequis

Travailler avec Django nécessite certaines configurations système.

Ce guide montrera également comment utiliser divers modules et bibliothèques Python nécessaires à une application Django fonctionnelle.

Étape 1. Installation des composants nécessaires

Pour que notre projet fonctionne, nous avons besoin d'un certain nombre de paquets importants installés sur notre système Ubuntu. Heureusement, ils sont tous directement disponibles dans les dépôts de paquets officiels d'Ubuntu. Ces paquets comprennent des composants Python et des composants de base de données (PostgreSQL).

Tout d'abord, lancez le terminal et mettez à jour le cache des paquets APT :

Using PostgreSQL with Django 1

Ensuite, installez les paquets :

Using PostgreSQL with Django 2

Étape 2. Préparation de la base de données

PostgreSQL est maintenant installé et prêt à l'emploi. Ensuite, nous nous apprêtons à créer une base de données dédiée et un utilisateur pour notre application Django. Avoir un utilisateur dédié est bénéfique pour la gestion de la base de données et des permissions.

Lors de l'installation, PostgreSQL crée un utilisateur dédié postgres. Il détient la permission d'effectuer n'importe quelle tâche d'administration sur PostgreSQL. Accédez au compte postgres :

Vous devriez arriver sur une nouvelle session de terminal sous l'utilisateur postgres. Ensuite, ouvrez un terminal PostgreSQL :

Nous allons maintenant créer une base de données dédiée pour notre application Django. Il est recommandé de lui donner un nom correspondant à l'application Django :

Ensuite, nous allons créer un utilisateur de base de données dédié. Nous utiliserons cet utilisateur pour accéder à la base de données dédiée à Django :

L'étape suivante consiste à ajuster quelques paramètres de connexion pour le nouvel utilisateur. Cela permet d'accélérer les opérations de base de données car cela n'exigera pas de requêter les valeurs à chaque fois qu'une connexion est établie. Exécutez les commandes suivantes :

Voyons rapidement le détail de ces commandes :

  • Nous définissons l'encodage par défaut sur UTF-8. C'est ce que Django attend lors de l'interaction avec les bases de données.

  • Le schéma de transaction par défaut est défini sur « read committed », de sorte que les lectures de transactions non validées soient bloquées.

  • Le fuseau horaire doit être défini en fonction de l'emplacement.

Si vous n'êtes pas sûr du nom du fuseau horaire, la commande suivante listera tous les fuseaux horaires pris en charge par PostgreSQL :

Using PostgreSQL with Django 4

Enfin, accordez au nouvel utilisateur tous les privilèges sur la base de données dédiée à Django :

Notre travail avec PostgreSQL est maintenant terminé. Quittez le shell psql et déconnectez-vous de la session postgres .

Étape 3. Installation de Django

Nous avons configuré le serveur de base de données nécessaire pour notre application Django. Maintenant, nous allons installer et configurer l'application Django dédiée. Bien que Django soit directement disponible dans le dépôt officiel d'Ubuntu, nous ne recommandons pas d'utiliser cette méthode. Elle installera Django sur l'ensemble du système. Pour une meilleure flexibilité et une plus grande facilité de gestion, nous installerons plutôt Django dans un environnement virtuel. C'est une pratique courante d'installer et de configurer Django dans un environnement virtuel Python.

Python dispose d'un module virtualenv qui crée un environnement virtuel Python dans un emplacement cible. L'environnement obtient sa propre copie des fichiers binaires et des configurations de Python. Les modifications apportées au sein de l'environnement virtuel n'auront aucun impact sur le reste du système.

Installez virtualenv:

Using PostgreSQL with Django 5

Ensuite, notre objectif est de disposer d'un répertoire dédié pour établir l'environnement virtuel Python. Il servira de base à notre application Django. Pour la démonstration, le nom de notre application sera sample_app. Créez un nouveau répertoire :

Modifiez le répertoire actif actuel et établissez l'environnement virtuel :

Après cela, activez l'environnement virtuel :

L'environnement virtuel est maintenant prêt et fonctionnel. Ensuite, nous utiliserons pip pour installer Django et psycopg2 (un adaptateur Python pour PostgreSQL) :

Using PostgreSQL with Django 6

Enfin, nous pouvons créer un nouveau projet Django à l'aide des outils Django. Cela générera un répertoire enfant du même nom hébergeant tout le code et un script de gestion dans le répertoire actuel :

Étape 4. Configuration du projet Django

Le projet Django dispose de tous les outils de base pour fonctionner comme une application web. Pour l'intégrer à notre base de données, nous devrons effectuer quelques ajustements dans ses fichiers de configuration.

Ouvrez le fichier settings.py dans un éditeur de texte :

Faites défiler vers le bas jusqu'à la section DATABASES. Par défaut, elle est configurée pour utiliser SQLite:

Pour notre usage, modifiez le code comme suit :

Ici, nous indiquons à Django d'utiliser l'adaptateur psycopg2 pour la communication avec la base de données. Nous déclarons également toutes les informations de base de données nécessaires, telles que le nom de la base de données ainsi que le nom d'utilisateur et le mot de passe de l'utilisateur dédié.

Une fois terminé, enregistrez le fichier et fermez l'éditeur.

Étape 5. Migration de la base de données

Django est configuré pour accéder à notre base de données PostgreSQL. Nous pouvons maintenant migrer la structure des données vers notre base de données. Dans Django, cela s'appelle une migration.

Pour migrer les modifications de la base de données, appelez le script de gestion manage.py:


Using PostgreSQL with Django 7

Ensuite, créez un superutilisateur pour notre application Django :

Using PostgreSQL with Django 8

Ce compte de superutilisateur servira de compte administrateur pour notre application Django.

Étape 6. Tester les modifications

Jusqu'à présent, nous avons apporté plusieurs modifications à notre application Django. Il est temps de vérifier si tout fonctionne comme prévu. Nous allons le vérifier en lançant l'application et en accédant au panneau d'administration.

Comme nous développons l'application Django localement, nous allons démarrer le serveur sur localhost. Par tradition, nous le lancerons sur le port 8000. Si vous avez configuré un pare-feu, celui-ci doit autoriser le trafic vers le port 8000. En savoir plus sur les bases d'UFW ici.

Lancez le serveur Django :

Accédez à l'URL dans un navigateur :

Using PostgreSQL with Django 9

Vous devriez arriver sur la page de réussite de l'installation de Django. Pour accéder à la page d'administration de Django, allez à l'URL suivante :

Using PostgreSQL with Django 10

Vous devez utiliser le superutilisateur que nous avons créé pour vous connecter :

Voilà ! Nous avons réussi à accéder au panneau d'administration !

Une fois que vous avez terminé l'exploration, appuyez sur Ctrl + C depuis la console pour arrêter le serveur Django.

Réflexions finales

Dans ce guide, nous avons démontré avec succès la création d'une application Django d'exemple et la configuration de PostgreSQL comme backend. Bien que SQLite soit généralement plus que suffisant pour répondre aux besoins pendant le développement (et pour une utilisation légère en production), la plupart des projets bénéficieront grandement d'un passage à un SGBD plus complet. PostgreSQL est une excellente option pour la performance et l'évolutivité.

Django est un framework web polyvalent qui peut fonctionner avec de nombreuses technologies. Jetez un œil à d'autres guides cloud qui démontrent l'utilisation de Django :

Bon développement !

author

Preslav Dobrev

Auteur · CloudSigma

Preslav Dobrev est un designer créatif chez CloudSigma, axé sur une identité commerciale cohérente à travers des canaux marketing traditionnels et innovants. Il excelle à fusionner la vision artistique avec le marketing stratégique pour créer des récits de marque percutants.

Commentaires

Aucun commentaire pour l'instant. Soyez le premier.