Fermer

avril 9, 2022

Comment démarrer rapidement un projet Django et une application Django


Dans ce didacticiel, nous allons apprendre la différence entre un projet Django et une application Django, et comment démarrer un nouveau projet Django.

Django est le framework Web Python de choix pour créer des applications Web. Il s'agit d'un framework mature, complet, flexible et open source qui vous permet de créer n'importe quoi, d'une simple application CRUD à un projet multi-applications plus complexe comme unapplication de partage de photos.

Conditions

Vous n'avez pas besoin de connaissances préalables pour mettre en place un projet Django. Mais Django est un framework Python, donc pour l'utiliser, vous devriez avoirdes bases solides avec Python.

Avant de commencer, assurez-vous d'avoir un terminal ou une invite de commande avec Python 3.6 ou version ultérieure installé.

Python 3 est installé par défaut sur la plupart des systèmes macOS et Linux, mais si vous utilisez Windows, vous devrez télécharger et installerPython . Vous pouvez suivre ce guide depuis lesite officiel Python.

Vous pouvez ouvrir un terminal en ouvrant l'outil de recherche d'applications de votre système d'exploitation et en recherchantTerminalou sous Windows,commande.

Ouvrir un terminal avec application finder

Une fois que vous avez configuré un terminal, il est temps de confirmer votre version de Python. Pour ce faire, tapez la commande suivante :

python--versionPython3.9.7

Si vous n'obtenez pas de résultat du formulaire Python 3.x, ne paniquez pas. Il y a deux options :

  • sipython --versionretourné une version Python 2.x, vous devrez utiliserpython3 accompagné de ce tutoriel. Cela se produit généralement avec certains systèmes macOS, ainsi qu'avec certainsDistributions Linux comme Ubuntu. Essayez d'exécuter la commande suivante :

    python3 --versionPython3.9.7
  • si vous avez unCommande inconnueerreur, j'ai essayé d'exécuterpython3et que vous avez toujours une autre erreur, vous devrez télécharger et installer Python à partir du site Web officiel.

Maintenant que vous savez quelle commande Python exécuter dans votre terminal, plongeons dans les projets Django.

Qu'est-ce qu'un projet Django ?

Un projet Django est un package Python nécessaire au fonctionnement d'une application Web. Il contient tout ce dont vous avez besoin pour construire le backend (développement côté serveur, ce que les utilisateurs ne voient pas) de votre site. La fonctionnalité normale d'un projet Django détermine la manière dont vous interagissez avec la base de données, l'authentification, la manière dont les données sont récupérées, etc.

Vous pouvez également le considérer comme une collection de paramètres et de petits modules Python nommés apps. Nous en parlerons plus tard, mais en tant que pré-concept, une application est un autre ensemble de fichiers Python qui résolvent une tâche spécifique de votre application.

À travers cet article, vous découvrirez la structure sophistiquée d'un projet Django. Mais dès le départ, je veux que vous sachiez qu'un projet Django peut être réduit à un seul fichier, quelque chose de similaire à unBallonprojet.

Une rapide démonstration en est laDjango minimal projet. Il s'agit d'un fichier de 23 lignes de code qui nous permet d'apporter un Django "Hello, World!" projet de vie :

importersystèmedepuisDjango.confimporterréglagesdepuisDjango.URLimporterchemindepuisDjango.coeur.le managementimporterexecute_from_command_linedepuisDjango.httpimporterParamètres de réponse HTTP.configurer(DÉBOGUER=Vrai,ROOT_URLCONF=système.modules[__Nom__],
)


définitivement indice(demande):
    retournerHttpResponse('

Une réponse Django minimale !

'
)modèles d'url= [chemin(r'',indice), ] si__Nom__== '__principale__':execute_from_command_line(système.argv)

Désormais, un projet Django peut aller beaucoup plus loin. Un bon exemple est Instagram, qui possède des milliers de points de terminaison Django et utilise toujours ce cadre pour des fonctionnalités cruciales.

Comment configurer un projet Django

Ne vous inquiétez pas trop si certaines des commandes suivantes semblent complexes. Après avoir créé quelques projets, vous les connaîtrez comme votre poche.

Tout d'abord, vous devez savoir que Django est un package externe. En d'autres termes, il n'est pas intégré à Python, vous devrez donc l'installer avec PIP.

PIP est un gestionnaire de packages pour Python, un outil qui vous permet d'installer des packages Python à partir duIndex des packages Python(PyPI).

Maintenant, avant d'installer le package Python réel, vous devrez créer un environnement virtuel. C'est une bonne pratique de créer un environnement virtuel pour chaque projet Django que vous construisez, afin que vous puissiez garder une trace des dépendances.

Peut-être que le code que vous avez dans un projet Django 2.6 peut ne pas fonctionner avec Django 3.0. Un environnement virtuel vous permet d'avoir des exigences spécifiques pour chaque projet que vous avez.

Vous pouvez créer unenvironnement virtuelnommé.venv(ou le nom que vous voulez) avec la commande suivante :

python -m venv .venv

Maintenant, si vous répertoriez les fichiers dans le répertoire courant, vous verrez un nouveau dossier appelé.venvqui contient en même temps des binaires Python isolés :

$ls-lah .venv/ Autorisations Taille Utilisateur Date Nom de modification drwxr-xr-x - danieldixnov23:13.drwxr-xr-x - danieldixnov23:13..drwxr-xr-x - danieldixnov23:13 bin drwxr-xr-x - danieldixnov23:13 inclure drwxr-xr-x - danieldixnov23:13 lib lrwxrwxrwx3danieldixnov23:13lib64 ->lib .rw-r--r--69danieldixnov23:13 pyvenv.cfg

Pour activer votre environnement virtuel, vous devez l'activer avec la commande suivante :

la source.venv/bin/activer

Cela ne fonctionnera que sur les shells bash (disponibles sur macOS et Linux). Si vous utilisez un shell différent, vous pouvez jeter un œil à l'activation suivantevenvtable:

PlateformeCoquilleCommande pour activer l'environnement virtuel
POSIXbash/zsh$ source .venv>/bin/activate
poisson$ source .venv>/bin/activate.fish
csh/tcsh$ source .venv>/bin/activate.csh
Noyau PowerShell$ .venv/bin/Activate.ps1
les fenêtrescmd.exeC:> .venvScriptsactivate.bat
PowerShellPS C:> .venvScriptsActivate.ps1

Un moyen de vérifier que votre shell est activé consiste à rechercher les modifications dans votre invite. Dans mon cas, ce que j'ai vu est illustré ci-dessous.

Invite d'environnement virtuel

Maintenant, installez le package Django. Vous pouvez installer la dernière version ou une version spécifique de Django :

pépininstallerpépin de djangoinstaller Django==2.2 

Démarrer le projet

Une fois que vous avez installé Django, pour démarrer un nouveau projet, vous appelez ledjango-adminutilitaire de ligne de commande et exécutez :

django-admin startprojectnom du projet>

Il convient de mentionner que certains noms sont réservés à Django —Djangoou alorsdjango-admin . Ne vous inquiétez pas si vous obtenez une erreur. Essayez simplement d'utiliser un autre nom de projet :

django-admin startproject django django-admin startproject django-admin

Une pratique courante consiste à nommer votre projet commeconfiguration , et cela présente certains avantages. Premièrement, c'est un nom que vous pouvez garder cohérent dans tous vos projets, et deuxièmement, normalement, le dossier "projet" ne stocke que les fichiers liés à la configuration. Vous pouvez en savoir plus sur l'officielDjango forum:

django-admin startproject config

Structure du projet Django

Une fois que vous avez démarré un projet Django, vous verrez un nouveau dossier avec le nom du projet que vous avez choisi, et une structure similaire à celle-ci :

.├── config │ ├── config │ │ ├── asgi.py │ │ ├── __init__.py │ │ ├── settings.py │ │ ├── urls.py .py └ └ ─ └── manage.py └── .venv

Analysons chaque partie en profondeur :

  • configuration/ est le dossier externe de votre projet. Cela n'a pas d'importance pour Django, vous pouvez donc le renommer comme vous le souhaitez.
  • config/config/ est le véritable dossier du projet Django. Il contient les fichiers de paramétrage de votre projet.
  • manage.pyest un script Python avec la même fonctionnalité quedjango_admin mais utilise les paramètres de votre projet.
  • __init__.pyfait duconfiguration/configurationun paquet Python.
  • paramètres.py est le fichier principal de votre projet. Vous pouvez ajouter, modifier ou supprimer des variables pour changer le comportement de votre projet.
  • urls.pyest le fichier qui définit les URL de votre projet.
  • asgi.pyetwsgi.pyvous permettent de déployer votre projet sur un serveur.

Je sais que la structure du projet de Django peut être un peu complexe au début, mais avec le temps, cela commence à avoir un sens. Chaque fichier a un but et le processus de développement devient vraiment agréable.

Un raccourci courant consiste à omettre la création du dossier externe. Ceci est utile car vous n'aurez pas à modifier la structure de votre projet lors du déploiement sur quelque chose comme Heroku :

django-admin startprojectnom du projet> .

Ainsi, par exemple, pour chaque projet Django que vous démarrez, vous pouvez exécuter la commande suivante :

django-admin startproject config.

Essayez chaque commande par vous-même et décidez laquelle vous convient le mieux.

Pour terminer cette section, nous allons démarrer le serveur de développement Django et vérifier que la configuration du projet a réussi.

Accédez au dossier racine de votre projet (oùmanage.pyse trouve) et démarrez le serveur avec cette commande :

serveur d'exécution python manage.py

Maintenant, sautez dans votre navigateur, tapezhôte local : 8000/et vous devriez voir la page par défaut de Django.

Page d'accueil de Django

Comment configurer une application Django

Comme je vous l'ai dit plus tôt, un projet Django est différent d'une application Django.

D'après la documentation officielle : "Une application est une application Web qui fait quelque chose". Ce quelque chose est une fonctionnalité spécifique telle que l'application d'un utilisateur, une application de commentaires, une application de chat.

Plus vos applications sont ciblées sur les fonctionnalités, mieux c'est.

Une application Django est autonome, ce qui signifie qu'elle peut être réutilisée d'un projet à l'autre. C'est pourquoi vous pouvez installer une application externe, commeDjango-allauthet utilisez-le dans votre projet, simplement en l'ajoutant auINSTALLED_APPSvariable.

Vous passerez la majeure partie de votre temps à travailler avec des applications, car, une par une, elles créent toutes les fonctionnalités de votre projet.

A partir de maintenant, vous utiliserez lemanage.pyutilitaire, donc pour créer une application, allez dans le dossier racine de votre projet et exécutez la commande suivante :

python manage.py startappnom de l'application>

Essayez d'être aussi précis que possible avec les noms de vos applications. Si vous souhaitez créer une application pour intégrer les paiements avec PayPal ou Stripe, nommez-la simplementPaiements:

python manage.py paiements startapp

Approfondissons la structure d'une application Django :

.├── configuration │ ├.. .  ├── manage.py └── paiements ├── admin.py ├── apps.py ├── __init__.py ├── migrations │ └── __init__.py ├── models.py ├── tests. py └── vues.py
  • Paiements/est le dossier de votre application.
  • admin.pyest utilisé pour enregistrer les modèles dans l'interface d'administration de Django.
  • apps.pydéfinit la configuration de l'application.
  • modèles.pyest utilisé pour stocker les modèles, qui sont les objets que nous créons pour stocker et contrôler les données.
  • migrations/ est le dossier qui contient les scripts de migration de l'application. Vous exécutez des migrations pour appliquer les modifications de nos modèles dans une base de données.
  • tests.pyest utilisé pour tester l'application.
  • vues.py est le fichier où nous définissons les vues de notre application. Une vue est un appelable Python qui reçoit une requête HTTP et renvoie une réponse HTTP.

Dans vos applications, vous pouvez créer d'autres fichiers et dossiers, et même créer des modèles, qui sont la façon Django d'afficher dynamiquement des données sur une page Web.

Aide-mémoire de commande

Nous avons utilisé de nombreuses commandes dans ce didacticiel, voici donc un résumé de l'objectif de chaque commande.

CommandeLa description
python -m venv (nom_de_venv)Crée un environnement virtuel
source (venv)/bin/activerActive un environnement virtuel
django-admin startproject (nom_projet)Démarre un projet Django
django-admin startproject (nom_projet) .Configure un projet dans le même répertoire
serveur d'exécution python manage.pyExécute le serveur Django
python manage.py startapp (app_name)Crée une application Django

Conclusion

Django est un framework Web à pleine batterie qui vous permet de créer tout type d'application. La configuration d'un projet Django est rapide et facile, et vous pouvez commencer à travailler sur votre projet immédiatement.

Avec ce tutoriel, vous avez appris à :

  • créer un environnement virtuel
  • installer une version spécifique de Django
  • démarrer un projet Django
  • exécuter un serveur Django
  • créer une application Django
  • différencier une application Django d'un projet Django

Pour aller plus loin, consultez "Créer une application de partage de photos avec Django”.




Source link