Développer une solide compréhension des rôles et des fonctions des projets et des applications dans le framework Django.

Dans Django, vous pouvez utiliser deux composants principaux pour créer une application Web; applications et projets. Les développeurs utilisent parfois ces termes de manière interchangeable, bien qu'ils aient des significations et des fonctions distinctes dans le framework Web Django.

Comprendre les projets Django

Dans Django, un projet est un conteneur de niveau supérieur pour votre application Web. Un projet contient les configurations de votre application Web et une ou plusieurs applications, chacune fournissant un ensemble spécifique de fonctionnalités ou de fonctionnalités pour votre application Web. Il contient également tous les composants partagés entre ses différentes applications. Dans un projet Django, vous pouvez trouver des outils et des utilitaires qui facilitent la gestion de votre application Web, tels que l'utilitaire de ligne de commande Django et le serveur de développement Django.

Composants d'un projet Django

Un projet Django contient généralement différentes applications et les configurations de votre application Web. Chaque fois que vous créez un nouveau projet, Django génère automatiquement des fichiers contenant ces configurations. Les composants inclus dans un projet Django sont :

  1. Paramètres: Le module de paramètres contient les configurations nécessaires pour votre projet et les applications individuelles de votre projet. Ce module contient principalement des options de configuration telles que la connexion à la base de données, le middleware, l'application installée, les hôtes autorisés et d'autres configurations nécessaires au fonctionnement de votre application Web.
  2. URL: Le module URLs définit un modèle d'URL pour votre application. Chaque modèle d'URL de votre projet peut être mappé à un autre modèle d'URL dans votre application ou directement à une fonction d'affichage qui gère la demande de l'URL spécifique. Que le modèle d'URL corresponde à une fonction d'affichage ou à un autre modèle d'URL dans votre application, l'objectif ultime est de le mapper à une vue qui gère efficacement la demande.
  3. WSGI: Le module WSGI (Web Server Gateway Interface) est le standard Python pour les serveurs et applications web. Le module WSGI permet à Django de fonctionner sur différents serveurs.
  4. ASGI: Le module ASGI (Asynchronous Server Gateway Interface) gère les requêtes asynchrones telles que Connexions WebSocket. ASGI est une norme permettant aux serveurs Web asynchrones de communiquer avec les applications Web Python.
  5. Autres composants: Parfois, il vous sera demandé d'ajouter vos propres composants à votre projet Django, en fonction des besoins de votre application. Ces composants incluent des fichiers statiques, des modèles, des fichiers multimédias et des commandes de gestion personnalisées.

Comment créer un projet Django

Pour créer un projet Django, vous devez utiliser le django-admin utilitaire de ligne de commande. Vous pouvez créer votre projet Django en suivant ces étapes :

  1. Dans votre interface de ligne de commande, accédez au répertoire dans lequel vous souhaitez créer votre projet Django.
  2. Installez Django avec le gestionnaire de paquets pip.
    pip installer Django
  3. Tapez la commande suivante et exécutez-la :
    django-admin startproject 

La commande ci-dessus créera un répertoire comme celui-ci :

Vous remarquerez une redondance dans les noms de votre répertoire de projet, c'est-à-dire que le nom de votre projet apparaît deux fois. Si vous voulez vous débarrasser de cela, vous pouvez ajouter une période lorsque vous exécutez votre démarrer le projet commande comme celle-ci :

django-admin startproject  .

Maintenant, la structure de votre projet ressemblera à ceci :

Avec les étapes ci-dessus, vous devez avoir créé avec succès un projet Django. Le manage.py fichier créé dans votre projet est important pour interagir avec votre projet Django.

Comprendre une application Django

Le but d'une application est de fournir à votre projet Django des fonctionnalités spécifiques. Une application vous aide à organiser votre base de code en divisant les fonctionnalités de votre projet en composants plus petits.

Par exemple, dans un projet de blog, vous aurez une application dédiée à l'authentification et à l'autorisation et une autre dédiée aux articles de blog. Vous pouvez créer plusieurs applications en fonction des besoins spécifiques de votre projet.

Composants d'une application Django

Une application Django se compose de modules liés au projet, c'est-à-dire à une fonctionnalité spécifique de votre site Web. Comme avec un projet, Django génère automatiquement des fichiers utiles lorsque vous créez une application. Les fichiers générés par Django incluent les éléments suivants :

  1. vues.py: Ce fichier contiendra toute la logique nécessaire à la réception des requêtes et à l'envoi des réponses. Il détermine également le modèle HTML à afficher en fonction des actions de l'utilisateur sur votre site Web.
  2. modèles.py: Ce module établit la structure des données de votre application et détermine comment la base de données la stockera. Il utilise l'ORM (Object-Relational Mapping) de Django pour définir les données. Le composant de modèles définit différents relations de base de données dans Django.
  3. admin.py: Le module admin définit l'interface d'administration de votre application Django. Vous devez enregistrer vos modèles dans le fichier admin. Si vous avez besoin de fonctionnalités d'administration supplémentaires au-delà de celles fournies par Django, vous pouvez définir des vues personnalisées pour votre interface d'administration dans ce module.
  4. urls.py: Ce fichier définit les modèles d'URL ou les routes uniques à une application Django particulière. Parfois, Django ne génère pas automatiquement ce fichier. Si cela se produit, vous pouvez le créer manuellement dans le répertoire de votre application.

Django génère d'autres composants, tels que apps.py et tests.py. Ces fichiers définissent les configurations de votre application et vous permettent respectivement d'écrire des tests unitaires.

Comment créer une application Django

Avant de créer une application, vous devez avoir créé un projet. Après avoir créé votre projet, accédez au répertoire contenant le manage.py fichier et exécutez la commande suivante dans votre terminal :

python manage.py startproject 

La commande ci-dessus créera une structure de dossiers comme celle-ci dans le même niveau de répertoire que votre projet :

Différence entre une application et un projet dans Django

Il existe des différences distinctes entre un projet et une application dans Django. Certains d'entre eux sont énumérés ci-dessous.

Réutilisabilité du code

Dans Django, une application est un composant réutilisable de votre application Web. Cela signifie que si vous avez une application qui gère l'authentification des utilisateurs pour un projet, vous pouvez réutiliser la même application dans un autre projet avec peu ou pas de modifications. Un projet, en revanche, n'est pas réutilisable. Une fois que vous avez créé un projet pour une application Web particulière, vous ne pouvez pas l'utiliser pour une autre application.

Champ d'application

Un projet fonctionne à un niveau supérieur à une application, car il est responsable de la configuration et de la gestion globales de votre site Web. D'autre part, une application n'est responsable que d'une fonctionnalité ou d'une fonctionnalité spécifique de votre site Web.

Structure des dossiers

La différence la plus évidente entre une application et un projet réside dans leurs structures de dossiers. Un projet comprend généralement des paramètres et d'autres fichiers de configuration responsables du bon fonctionnement de votre site Web.

Une application suit L'architecture MVT de Django. Il ne contient que des fichiers et des configurations responsables du bon fonctionnement d'une fonctionnalité spécifique de votre site Web.

Votre projet et votre application fonctionnent ensemble pour créer une bonne application Web

Bien que votre projet et votre application aient leur caractère unique, ils sont finalement utilisés pour vous offrir une expérience transparente lors de la création de votre application. Vous devriez pouvoir combiner les composants du projet et de l'application pour créer et personnaliser votre application Web. Une fois votre application et votre projet en place, vous pouvez commencer à créer votre site Web avec Django.